On Mon, Jan 10, 2022 at 1:56 AM Michael S. Tsirkin <[email protected]> wrote:
> On Fri, Nov 05, 2021 at 12:48:17AM +0800, Cindy Lu wrote:
> > these patches add the support for configure interrupt
> >
> > These codes are all tested in vp-vdpa (support configure interrupt)
> > vdpa_sim (not support configure interrupt), virtio tap device
> >
> > test in virtio-pci bus and virtio-mmio bus
> >
> > Change in v2:
> > Add support for virtio-mmio bus
> > active the notifier while the backend support configure interrupt
> > misc fixes from v1
> >
> > Change in v3
> > fix the coding style problems
> >
> > Change in v4
> > misc fixes from v3
> > merge the set_config_notifier to set_guest_notifier
> > when vdpa start, check the feature by VIRTIO_NET_F_STATUS
> >
> > Change in v5
> > misc fixes from v4
> > split the code to introduce configure interrupt type and the callback
> function
> > will init the configure interrupt in all virtio-pci and virtio-mmio bus,
> but will
> > only active while using vhost-vdpa driver
> >
> > Change in v6
> > misc fixes from v5
> > decouple vq from interrupt setting and misc process
> > fix the bug in virtio_net_handle_rx
> > use -1 as the queue number to identify if the interrupt is configure
> interrupt
> >
> > Change in v7
> > misc fixes from v6
> > decouple vq from interrupt setting and misc process
> > decouple vq from vector use/release process
> > decouple vq from set notifier fd handler process
> > move config_notifier and masked_config_notifier to VirtIODevice
> > fix the bug in virtio_net_handle_rx, add more information
> > add VIRTIO_CONFIG_IRQ_IDX as the queue number to identify if the
> interrupt is configure interrupt
> >
> > Change in v8
> > misc fixes from v7
> > decouple vq from interrupt setting and misc process
> > decouple vq from vector use/release process
> > decouple vq from set notifier fd handler process
> > move the vhost configure interrupt to vhost_net
> >
> > Change in v9
> > misc fixes from v8
> > address the comments from v8
> >
> > Change in v10
> > fix the hang issue in qtest
> > address the comments from v9
> >
> > Cindy Lu (10):
> > virtio: introduce macro IRTIO_CONFIG_IRQ_IDX
> > virtio-pci: decouple notifier from interrupt process
> > virtio-pci: decouple the single vector from the interrupt process
> > vhost: introduce new VhostOps vhost_set_config_call
> > vhost-vdpa: add support for config interrupt
> > virtio: add support for configure interrupt
> > vhost: add support for configure interrupt
> > virtio-net: add support for configure interrupt
> > virtio-mmio: add support for configure interrupt
> > virtio-pci: add support for configure interrupt
> >
> > hw/display/vhost-user-gpu.c | 6 +
> > hw/net/vhost_net.c | 9 +
> > hw/net/virtio-net.c | 10 +-
> > hw/virtio/trace-events | 1 +
> > hw/virtio/vhost-user-fs.c | 6 +
> > hw/virtio/vhost-vdpa.c | 7 +
> > hw/virtio/vhost-vsock-common.c | 6 +
> > hw/virtio/vhost.c | 76 +++++++++
> > hw/virtio/virtio-crypto.c | 6 +
> > hw/virtio/virtio-mmio.c | 27 +++
> > hw/virtio/virtio-pci.c | 269 +++++++++++++++++++++---------
> > hw/virtio/virtio-pci.h | 4 +-
> > hw/virtio/virtio.c | 29 ++++
> > include/hw/virtio/vhost-backend.h | 3 +
> > include/hw/virtio/vhost.h | 4 +
> > include/hw/virtio/virtio.h | 7 +
> > include/net/vhost_net.h | 2 +
> > 17 files changed, 389 insertions(+), 83 deletions(-)
>
> So I just realized something. The spec says:
>
> The device MUST set the Device Configuration Interrupt bit
> in \field{ISR status} before sending a device configuration
> change notification to the driver.
>
> and I don't see how these patches achieve this: it requires
> that config interrupts go through userspace.
>
> Revert, and think more about it? Or did I miss something?
>
> Thanks, Micheal, I'm ok to revert these patchs and there are also several
bugs I need to fix.
I will post a new version soon
>
> > --
> > 2.21.3
>
>