qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/12] virtio: cleanup ioeventfd start/stop


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH 00/12] virtio: cleanup ioeventfd start/stop
Date: Wed, 21 Sep 2016 20:31:40 +0300

On Wed, Sep 21, 2016 at 03:18:47PM +0200, Paolo Bonzini wrote:
> This series started as an attempt to always use the dataplane path
> for virtio-blk and virtio-scsi when ioeventfd is active.  The aim
> was three-fold:
> 
> 1) to add more coverage for dataplane
> 
> 2) to remove virtio_add_queue_aio
> 
> 3) to simplify the dataplane start/stop code
> 
> It achieves the first two objectives, and while it doesn't quite
> achieve the third it does cleanup the generic ioeventfd code in
> virtio-bus more than I expected.  In particular, it reduces the set
> of callbacks that transports must implement, and it removes the ugly
> case where ioeventfd is started with generic callbacks and then moved
> to the dataplane callbacks.  It also enables some simplification of the
> functions that deal with host notifiers.
> 
> I've tested it with virtio-blk, virtio-scsi and vhost-net.
> 
> Patches 1 and 2 are simplifications that are too nice to leave
> them for later in the series.
> 
> Patch 3 moves some of the ioeventfd code from virtio-bus.c to
> virtio.c.  At this point the transition is a bit half-assed, but
> this changes as soon as we remove the generic->dataplane
> handler transition.
> 
> Patches 4 to 6 do exactly that, and then the spring cleaning
> begins, lasting for the whole second half of the series.
> 
> Opinions, reviews and bug reports?
> 
> Thanks,
> 
> Paolo

Overall this looks good, I'll try to review early next week.
Thanks!

> Paolo Bonzini (12):
>   virtio: move ioeventfd_disabled flag to VirtioBusState
>   virtio: move ioeventfd_started flag to VirtioBusState
>   virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
>   virtio: introduce virtio_device_ioeventfd_enabled
>   virtio-blk: always use dataplane path if ioeventfd is active
>   virtio-scsi: always use dataplane path if ioeventfd is active
>   Revert "virtio: Introduce virtio_add_queue_aio"
>   virtio: remove set_handler argument from set_host_notifier_internal
>   virtio: remove ioeventfd_disabled altogether
>   virtio: do not export set_host_notifier_internal
>   virtio: inline virtio_queue_set_host_notifier_fd_handler
>   virtio: inline set_host_notifier_internal
> 
>  hw/block/dataplane/virtio-blk.c |  67 +++++++++++-------
>  hw/block/dataplane/virtio-blk.h |   6 +-
>  hw/block/virtio-blk.c           |  16 ++---
>  hw/s390x/virtio-ccw.c           |  36 +---------
>  hw/s390x/virtio-ccw.h           |   2 -
>  hw/scsi/virtio-scsi-dataplane.c |  51 ++++++++------
>  hw/scsi/virtio-scsi.c           |  24 +++----
>  hw/virtio/vhost.c               |   5 +-
>  hw/virtio/virtio-bus.c          | 153 
> +++++++++++++++-------------------------
>  hw/virtio/virtio-mmio.c         |  35 +--------
>  hw/virtio/virtio-pci.c          |  32 +--------
>  hw/virtio/virtio-pci.h          |   2 -
>  hw/virtio/virtio.c              | 139 +++++++++++++++++++++++-------------
>  include/hw/virtio/virtio-bus.h  |  27 ++++---
>  include/hw/virtio/virtio-scsi.h |   6 +-
>  include/hw/virtio/virtio.h      |  11 +--
>  16 files changed, 272 insertions(+), 340 deletions(-)
> 
> -- 
> 2.7.4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]