[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 2/3] raw-posix: Convert Linux AIO submission
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [RFC PATCH 2/3] raw-posix: Convert Linux AIO submission to coroutines |
Date: |
Fri, 28 Nov 2014 13:57:00 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 27.11.2014 um 10:50 hat Peter Lieven geschrieben:
> On 26.11.2014 15:46, Kevin Wolf wrote:
> >This improves the performance of requests because an ACB doesn't need to
> >be allocated on the heap any more. It also makes the code nicer and
> >smaller.
> >
> >As a side effect, the codepath taken by aio=threads is changed to use
> >paio_submit_co(). This doesn't change the performance at this point.
> >
> >Results of qemu-img bench -t none -c 10000000 [-n] /dev/loop0:
> >
> > | aio=native | aio=threads
> > | before | with patch | before | with patch
> >------+----------+------------+----------+------------
> >run 1 | 29.921s | 26.932s | 35.286s | 35.447s
> >run 2 | 29.793s | 26.252s | 35.276s | 35.111s
> >run 3 | 30.186s | 27.114s | 35.042s | 34.921s
> >run 4 | 30.425s | 26.600s | 35.169s | 34.968s
> >run 5 | 30.041s | 26.263s | 35.224s | 35.000s
> >
> >TODO: Do some more serious benchmarking in VMs with less variance.
> >Results of a quick fio run are vaguely positive.
>
> I still see the main-loop spun warnings with this patches applied to master.
> It wasn't there with the original patch from August.
>
> ~/git/qemu$ ./qemu-img bench -t none -c 10000000 -n /dev/ram1
> Sending 10000000 requests, 4096 bytes each, 64 in parallel
> main-loop: WARNING: I/O thread spun for 1000 iterations
> Run completed in 31.947 seconds.
Yes, I still need to bisect that. The 'qemu-img bench' numbers above are
actually also from August, we have regressed meanwhile by about a
second, and I also haven't found the reason for that yet.
Kevin