On Thu, Sep 30, 2021 at 10:33:38AM +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
I was inclined to let it slide but it hangs make check so needs more work. Meanwhile please go over how the patchset is structured, and over description of each patch. I sent some comments but same applied to everything. Also, pls document the index == -1 hack in more detail. how does it work and why it's helpful. Thanks! > 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 virtqueue 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 virtqueue from interrupt setting and misc process > decouple virtqueue from vector use/release process > decouple virtqueue 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 virtqueue from interrupt setting and misc process > decouple virtqueue from vector use/release process > decouple virtqueue from set notifier fd handler process > move the vhost configure interrupt to vhost_net > > Change in v9 > misc fixes from v8 > address the comments for v8 > > 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: add new call back function for config interrupt > vhost-vdpa: add support for config interrupt call back > virtio: add support for configure interrupt > virtio-net: add support for configure interrupt > vhost: 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 | 10 ++ > hw/net/virtio-net.c | 16 +- > hw/virtio/trace-events | 2 + > hw/virtio/vhost-user-fs.c | 9 +- > 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 | 260 ++++++++++++++++++++---------- > 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 | 6 + > include/net/vhost_net.h | 3 + > 17 files changed, 386 insertions(+), 88 deletions(-) > > -- > 2.21.3