On Mon, Jan 10, 2022 at 1:56 AM Michael S. Tsirkin <m...@redhat.com> 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 > >