On Tue, Dec 19, 2017 at 09:33:03PM +0800, sochin.jiang wrote: > From: "sochin.jiang" <[email protected]> > > Till now, we've already notify guest as a batch mostly, an > extra BH won't decrease guest interrupts much, but cause a > significant notification loss. Generally, we could have 15% > or so performance lost in single queue IO models, as I tested.
I have CCed Ming Lei, who originally implemented batched notifications
in commit 5b2ffbe4d99843fd8305c573a100047a8c962327 ("virtio-blk:
dataplane: notify guest as a batch"). The original commit mentions a 13K
interrupt/sec reduction, which is significant.
Which host storage device are you benchmarking and what is the benchmark
configuration?
How many interrupts/sec does the guest report (cat /proc/interrupts)
before and after this patch?
In the past I've noticed performance can vary significantly depending on
QEMUBH ordering in the AioContext->first_bh list. Can you measure the
latency from virtio_blk_data_plane_notify() to aio_bh_poll() and compare
against the latency from virtio_blk_data_plane_notify() to
notify_guest_bh()?
> @@ -75,7 +67,12 @@ static void notify_guest_bh(void *opaque)
> }
> }
>
> -/* Context: QEMU global mutex held */
Please keep this doc comment for virtio_blk_data_plane_create().
signature.asc
Description: PGP signature
