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 <kw...@redhat.com> > > --- > > 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
pgpYxlb37fiUe.pgp
Description: PGP signature