[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
pgpKfCzJ_Nr38.pgp
Description: PGP signature