Hello all,

I was playing with block device io tracing recently, and have
encountered some strange things.
(kernel 2.6.18 and blktrace just from git)

So there is one (dominant) reader on HN: fio tool with such job file:

[global]
rw=randread
direct=0
timeout=200

[reader0]
filename=file0 ;file of size 1 gb

Here is a piece of decoded blktrace output:

  8,0    0   105919   200.287000000     0  C   R 338688739 + 8 [0]
  8,0    0   105920   200.287000000  7017  Q   R 339904179 + 8 [fio]
  8,0    0   105921   200.287000000  7017  B   R 339904179 + 8 [fio]
  8,0    0   105922   200.287000000  7017  G   R 339904179 + 8 [fio]
  8,0    0   105923   200.287000000  7017  P   R [fio]
  8,0    0   105924   200.287000000  7017  I   R 339904179 + 8 [fio]
  8,0    0   105925   200.287000000  7017  D   R 339904179 + 8 [fio]
  8,0    0   105926   200.287000000  7017  U   R [fio] 1
  8,0    0   105927   200.291000000     0  C   R 339904179 + 8 [0]
  8,0    0   105928   200.291000000  7017  Q   R 340230323 + 8 [fio]
  8,0    0   105929   200.291000000  7017  B   R 340230323 + 8 [fio]
  8,0    0   105930   200.291000000  7017  G   R 340230323 + 8 [fio]
  8,0    0   105931   200.291000000  7017  P   R [fio]
  8,0    0   105932   200.291000000  7017  I   R 340230323 + 8 [fio]
  8,0    0   105933   200.291000000  7017  D   R 340230323 + 8 [fio]
  8,0    0   105934   200.291000000  7017  U   R [fio] 1
  8,0    0   105935   200.302000000     0  C   R 340230323 + 8 [0]
  8,0    0   105936   200.302000000  7017  Q   R 340265211 + 8 [fio]
  8,0    0   105937   200.302000000  7017  B   R 340265211 + 8 [fio]
  8,0    0   105938   200.302000000  7017  G   R 340265211 + 8 [fio]
  8,0    0   105939   200.302000000  7017  P   R [fio]
  8,0    0   105940   200.302000000  7017  I   R 340265211 + 8 [fio]
  8,0    0   105941   200.302000000  7017  D   R 340265211 + 8 [fio]
  8,0    0   105942   200.302000000  7017  U   R [fio] 1
  8,0    0   105943   200.306000000     0  C   R 340265211 + 8 [0]
  8,0    0   105944   200.306000000  7017  Q   R 338171203 + 8 [fio]
  8,0    0   105945   200.306000000  7017  B   R 338171203 + 8 [fio]
  8,0    0   105946   200.306000000  7017  G   R 338171203 + 8 [fio]
  8,0    0   105947   200.306000000  7017  P   R [fio]
  8,0    0   105948   200.306000000  7017  I   R 338171203 + 8 [fio]
  8,0    0   105949   200.306000000  7017  D   R 338171203 + 8 [fio]
  8,0    0   105950   200.306000000  7017  U   R [fio] 1
  8,0    0   105951   200.312000000     0  C   R 338171203 + 8 [0]
  8,0    0   105952   200.312000000  7017  Q   R 339044731 + 8 [fio]
  8,0    0   105953   200.312000000  7017  B   R 339044731 + 8 [fio]
  8,0    0   105954   200.312000000  7017  G   R 339044731 + 8 [fio]

As you see, there is a lot of "B" - back merges according to documentation.
But in final results:

CPU0 (8,0):
 Reads Queued:      13,244,   53,084KiB  Writes Queued:         
42,      188KiB
 Read Dispatches:   13,243,   53,080KiB  Write Dispatches:      
26,      120KiB
 Reads Requeued:         0               Writes Requeued:         0
 Reads Completed:   13,243,   53,080KiB  Writes Completed:      
26,      120KiB
 Read Merges:            1               Write Merges:            4
 Read depth:             2               Write depth:             2
 IO unplugs:        13,243               Timer unplugs:           6

Throughput (R/W): 258KiB/s / 0KiB/s
Events (8,0): 106,136 entries
Skips: 0 forward (0 -   0.0%)

Only one read merge?
So the first question is why does this happen?
And the second one. As you can see fio produces randread, so actually
not a lot of merges
should be there. But there is a plenty of "B".

Thank you in advance for your comments,

Vasily.
-
To unsubscribe from this list: send the line "unsubscribe linux-btrace" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to