[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: |
Mon, 10 Oct 2016 01:01:17 +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
OK, this looks good to me. Can you pls rebase and repost
so I can merge (there was also a bug report I think)?
> 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
- Re: [Qemu-devel] [PATCH 00/12] virtio: cleanup ioeventfd start/stop,
Michael S. Tsirkin <=