On Thu, Feb 09, 2017 at 04:40:47PM +0800, Fam Zheng wrote: > In virtio_queue_host_notifier_aio_poll, not all "!virtio_queue_empty()" > cases are making true progress. > > Currently the offending one is virtio-scsi event queue, whose handler > does nothing if no event is pending. As a result aio_poll() will spin on > the "non-empty" VQ and take 100% host CPU. > > Fix this by reporting actual progress from virtio queue aio handlers. > > Reported-by: Ed Swierk <eswi...@skyportsystems.com> > Signed-off-by: Fam Zheng <f...@redhat.com> > --- > hw/block/dataplane/virtio-blk.c | 4 ++-- > hw/block/virtio-blk.c | 12 ++++++++++-- > hw/scsi/virtio-scsi-dataplane.c | 14 +++++++------- > hw/scsi/virtio-scsi.c | 14 +++++++++++--- > hw/virtio/virtio.c | 15 +++++++++------ > include/hw/virtio/virtio-blk.h | 2 +- > include/hw/virtio/virtio-scsi.h | 6 +++--- > include/hw/virtio/virtio.h | 4 ++-- > 8 files changed, 45 insertions(+), 26 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
signature.asc
Description: PGP signature