On Tue, Dec 19, 2017 at 09:33:03PM +0800, sochin.jiang wrote: > From: "sochin.jiang" <sochin.ji...@huawei.com> > > 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