You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/include/hw/virtio
Stefan Hajnoczi 1e9181dc52 virtio: unify virtio_notify_irqfd() and virtio_notify()
The difference between these two functions:
- virtio_notify() uses the interrupt code path (MSI or classic IRQs)
- virtio_notify_irqfd() uses guest notifiers (irqfds)

virtio_notify() can only be called with the BQL held because the
interrupt code path requires the BQL. Device models use
virtio_notify_irqfd() from IOThreads since the BQL is not held.

The two functions can be unified by pushing down the if
(qemu_in_iothread()) check from virtio-blk and virtio-scsi into core
virtio code. This is in preparation for the next commit that will add
irqfd support to virtio_notify_config() and where it's unattractive to
introduce another irqfd-only API for device model callers.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20250922220149.498967-3-stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
3 weeks ago
..
cbor-helpers.h
iothread-vq-mapping.h virtio: extract iothread-vq-mapping.h API 7 months ago
vdpa-dev.h
vhost-backend.h vhost: add support for negotiating extended features 3 weeks ago
vhost-scsi-common.h vhost-user: return failure if backend crash when live migration 5 months ago
vhost-scsi.h
vhost-user-base.h hw/virtio: rename vhost-user-device and make user creatable 3 weeks ago
vhost-user-blk.h vhost-user-blk: add an option to skip GET_VRING_BASE for force shutdown 3 months ago
vhost-user-fs.h
vhost-user-gpio.h
vhost-user-i2c.h
vhost-user-rng.h
vhost-user-scmi.h
vhost-user-scsi.h
vhost-user-snd.h
vhost-user-vsock.h
vhost-user.h
vhost-vdpa.h vdpa: move iova_tree allocation to net_vhost_vdpa_init 5 months ago
vhost-vsock-common.h vhost-user: return failure if backend crash when live migration 5 months ago
vhost-vsock.h
vhost.h vhost: add support for negotiating extended features 3 weeks ago
virtio-access.h
virtio-acpi.h
virtio-balloon.h hw/virtio: reset virtio balloon stats on machine reset 8 months ago
virtio-blk-common.h
virtio-blk.h hw/vmapple/virtio-blk: Add support for apple virtio-blk 8 months ago
virtio-bus.h
virtio-crypto.h
virtio-dmabuf.h
virtio-features.h virtio: introduce extended features type 3 weeks ago
virtio-gpu-bswap.h
virtio-gpu-pci.h
virtio-gpu-pixman.h
virtio-gpu.h hw/display: Allow injection of virtio-gpu EDID name 3 months ago
virtio-input.h
virtio-iommu.h
virtio-md-pci.h
virtio-mem.h hw/virtio/virtio-mem: Fix definition of VirtIOMEMClass 5 months ago
virtio-mmio.h
virtio-net.h virtio-net: implement extended features support 3 weeks ago
virtio-nsm.h
virtio-pci.h virtio-pci: implement support for extended features 3 weeks ago
virtio-pmem.h hw/virtio/virtio-pmem: Fix definition of VirtIOPMEMClass 5 months ago
virtio-rng.h
virtio-scsi.h virtio-scsi: handle ctrl virtqueue in main loop 7 months ago
virtio-serial.h
virtio.h virtio: unify virtio_notify_irqfd() and virtio_notify() 3 weeks ago