[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted |
Date: |
Tue, 16 Dec 2014 19:28:28 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 16/12/2014 14:10, Kevin Wolf wrote:
> Am 16.12.2014 um 12:28 hat Paolo Bonzini geschrieben:
>>
>>
>> On 16/12/2014 12:07, Kevin Wolf wrote:
>>> Am 11.12.2014 um 14:52 hat Paolo Bonzini geschrieben:
>>>> Keep a queue of requests that were not submitted; pass them to
>>>> the kernel when a completion is reported, unless the queue is
>>>> plugged.
>>>>
>>>> The array of iocbs is rebuilt every time from scratch. This
>>>> avoids keeping the iocbs array and list synchronized.
>>>>
>>>> Signed-off-by: Paolo Bonzini <address@hidden>
>>>
>>> Just found out that in qemu-img bench, this patch seems to cost about
>>> 5-8% for me.
>>
>> What execution? Queue depth=1?
>
> My usual one:
>
> $ ./qemu-img bench -t none -c 10000000 -n /dev/loop0
> Sending 10000000 requests, 4096 bytes each, 64 in parallel
I could reproduce this very well on a random OS image that I had around.
This is raw over XFS over dm-crypt, and the image is about 75% sparse
(8.2G used over 35G). I only get 1-2%, but still it's visible.
However I can hardly reproduce it when using a partition directly:
old new
mean 9.9565 9.9636 (+0.07%)
stddev 0.0405 0.0537
min 9.871 9.867
median 9.973 9.971
max 10.01 10.053
count 20 20
I haven't tried removing layers (e.g. fully-allocated XFS image without
dm-crypt).
Paolo
- [Qemu-devel] [PATCH v2 0/5] linux-aio: rewrite and simplify queuing code, Paolo Bonzini, 2014/12/11
- [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Paolo Bonzini, 2014/12/11
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Kevin Wolf, 2014/12/16
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Paolo Bonzini, 2014/12/16
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Kevin Wolf, 2014/12/16
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Paolo Bonzini, 2014/12/16
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Paolo Bonzini, 2014/12/17
- Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted, Paolo Bonzini, 2014/12/17
[Qemu-devel] [PATCH v2 2/5] linux-aio: track whether the queue is blocked, Paolo Bonzini, 2014/12/11
[Qemu-devel] [PATCH v2 4/5] linux-aio: drop return code from laio_io_unplug and ioq_submit, Paolo Bonzini, 2014/12/11
[Qemu-devel] [PATCH v2 5/5] linux-aio: simplify removal of completed iocbs from the list, Paolo Bonzini, 2014/12/11
[Qemu-devel] [PATCH v2 3/5] linux-aio: rename LaioQueue idx field to "n", Paolo Bonzini, 2014/12/11
Re: [Qemu-devel] [PATCH v2 0/5] linux-aio: rewrite and simplify queuing code, Kevin Wolf, 2014/12/11
Re: [Qemu-devel] [PATCH v2 0/5] linux-aio: rewrite and simplify queuing code, Stefan Hajnoczi, 2014/12/12