title: What do repeated block:block_rq_complete events mean?
body: <p>I'm trying to use Linux Perf Events to understand block device IO.  I'm monitoring insert, issue and complete.  I sometimes get traces like:</p>
  
  <pre><code>$ perf script | grep 720056912
  jbd2/sda5-8   203 368748.496400: block:block_rq_insert: 8,0 FWFS 0 () 720056912 + 8 [jbd2/sda5-8]
  swapper     0 368748.518255: block:block_rq_issue: 8,0 WS 0 () 720056912 + 8 [swapper/0]
  swapper     0 368748.518545: block:block_rq_complete: 8,0 WS () 720056912 + 8 [0]
  swapper     0 368748.529398: block:block_rq_complete: 8,0 WS () 720056912 + 0 [0]
  </code></pre>
  
  <p>Judging by adjacent sched:sched_wakeup events, the second complete is the real one.</p>
  
  <p>Does anyone know what's going on here?  Is there any way to tell the first complete isn't enough besides seeing the second one?  I'm fine with turning on more events.</p>