Re: Missing completions with libaio after context switch?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 4, 2015 at 6:40 AM, Caldwell, Blake A. <blakec@xxxxxxxx> wrote:
> While looking at fio activity with libaio using blktrace, I could not find completion requests when fio is rescheduled onto a different CPU.

Are you witnessing a completion lost, with the respective I/O hung? Or
is it a blktrace rather than fio issue?

If the completion is indeed lost, I stumbled upon a similar issue a
while back, around fio-2.1 (which, by the way, is quite outdated, so
you might want to rerun this experiment with a more recent release
such as https://github.com/axboe/fio/releases/tag/fio-2.2.6), but that
happened in a special case where I experimented with user_space_reap
feature of the libaio engine. Under normal circumstances, this path is
not invoked, and I've never faced lost completions with libaio even in
massive multi-core setup.

HTH,
Andrey

For instance, in the trace below the IO stream to /dev/sdae is moved
from CPU 8 to CPU 10 and there is no corresponding completion (or
insertion) for a get request at offset 5743016.  It would seem that
fio was preempted before fully forming the request (Q and G, but no I
or D). Is this expected behavior?
>
> fio version 2_1_4 from http://git.kernel.dk/fio.git
>
> fio --bs=4k --ioengine=libaio --rw=write --iodepth=127 --buffered=0 --norandommap --thread --loops=2147483648 --runtime=60 --gtod_reduce=1 --invalidate=1 --name=/dev/sdae --filename=/dev/sdae
>
>  65,224  8    84946     0.228857464  9729  C  WS 5742888 + 8 [0]
>  65,224  8    84947     0.228858948  9729  C  WS 5742896 + 8 [0]
>  65,224  8    84948     0.228861434  9729  C  WS 5742904 + 8 [0]
>  65,224  8    84949     0.228862696  9729  C  WS 5742912 + 8 [0]
>  65,224  8    84950     0.228863825  9729  C  WS 5742920 + 8 [0]
> ...
>  65,224  8    84966     0.228883226  9729  Q  WS 5743008 + 8 [fio]
>  65,224  8    84967     0.228883518  9729  G  WS 5743008 + 8 [fio]
>  65,224  8    84968     0.228883783  9729  I  WS 5743008 + 8 [fio]
>  65,224  8    84969     0.228884001  9729  D  WS 5743008 + 8 [fio]
>  65,224  8    84970     0.228885688  9729  U   N [fio] 11
>  65,224  8    84971     0.228888429  9729  Q  WS 5743016 + 8 [fio]
>  65,224  8    84972     0.228888728  9729  G  WS 5743016 + 8 [fio]
>  65,224 10        1     0.243064252  9729  Q  WS 5757368 + 8 [fio]
>  65,224 10        2     0.243065348  9729  G  WS 5757368 + 8 [fio]
>  65,224 10        3     0.243066110  9729  I  WS 5757368 + 8 [fio]
>  65,224 10        4     0.243066816  9729  D  WS 5757368 + 8 [fio]
> ...
>  65,224 11    42478     0.322827200  9729  C  WS 5831064 + 8 [0]
>  65,224 11    42479     0.322833478  9729  Q  WS 5831144 + 8 [fio]
>  65,224 11    42480     0.322833826  9729  G  WS 5831144 + 8 [fio]
>  65,224  8    84973     0.334959322  9729  Q  WS 5842992 + 8 [fio]
>  65,224  8    84974     0.334960161  9729  G  WS 5842992 + 8 [fio]
>  65,224  8    84975     0.334960993  9729  I  WS 5842992 + 8 [fio]
>  65,224  8    84976     0.334961632  9729  D  WS 5842992 + 8 [fio]
>  65,224  8    84977     0.334966226  9729  U   N [fio] 1
>
> # blkparse sdae |grep "WS 5743016"
>  65,224  8    84971     0.228888429  9729  Q  WS 5743016 + 8 [fio]
>  65,224  8    84972     0.228888728  9729  G  WS 5743016 + 8 [fio]
>
> # blktrace --version
> blktrace version 2.0.0
>
> kernel 2.6.32-431.17.1.el6.x86_64--
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux