On Fri, Jun 17, 2016 at 12:24:11PM +0200, Kevin Wolf wrote: > 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?
The git trees are from qemu.git/master with no out-of-tree patches (my stuff isn't there). 1. linux-aio-bh-optimizations-ccb9dc1 12942616.0 ± 16.83% This is your "linux-aio: Cancel BH if not needed" in qemu.git/master. 2. linux-aio-bh-optimizations-ccb9dc1-2 13833110.4 ± 4.74% I wanted to try again because the 16.83% error margin is very high and probably due to noise. This is just a re-run of #1. 3. linux-aio-bh-optimizations-off-23b0d9f 13303981.4 ± 2.21% This is the commit before your "linux-aio: Cancel BH if not needed" (ccb9dc1^ == 23b0d9f).
signature.asc
Description: PGP signature