qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-block] [PATCH] linux-aio: Cancel BH if not needed


From: Kevin Wolf
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH] linux-aio: Cancel BH if not needed
Date: Fri, 17 Jun 2016 12:24:11 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 17.06.2016 um 12:13 hat Stefan Hajnoczi geschrieben:
> On Wed, Jun 15, 2016 at 01:16:42PM +0200, Kevin Wolf wrote:
> > linux-aio uses a BH in order to make sure that the remaining completions
> > are processed even in nested event loops of completion callbacks in
> > order to avoid deadlocks.
> > 
> > There is no need, however, to have the BH overhead for the first call
> > into qemu_laio_completion_bh() or after all pending completions have
> > already been processed. Therefore, this patch calls directly into
> > qemu_laio_completion_bh() in qemu_laio_completion_cb() and cancels
> > the BH after qemu_laio_completion_bh() has processed all pending
> > completions.
> > 
> > Signed-off-by: Kevin Wolf <address@hidden>
> > ---
> >  block/linux-aio.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> I ran 4 x iodepth=16 random 4KB read I/O benchmarks.  There might be an
> improvement but it's within the error margin.  My benchmarking setup can
> be noisy...
> 
> Anyway, this patch doesn't hurt performance.  Guest and host are RHEL 7.2.

Thanks for confirming!

> $ ./analyze.py runs/
> Name                                          IOPS   Error
> linux-aio-bh-optimizations-ccb9dc1      12942616.0 ± 16.83%
> linux-aio-bh-optimizations-ccb9dc1-2    13833110.4 ± 4.74%
> linux-aio-bh-optimizations-off-23b0d9f  13303981.4 ± 2.21%

What are these three commits? Is the first one with your virtio-blk
changes and this patch, the second only this patch and the third one
the baseline?

Kevin

Attachment: pgpKfCzJ_Nr38.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]