On Mon, Jun 24, 2024 at 11:04:43AM +0200, Jiri Pirko wrote: > From: Jiri Pirko <jiri@xxxxxxxxxx> > > Currently the admin queue command execution is serialized by a lock. > This patchsets lifts this limitation allowing to execute admin queue > commands in parallel. To do that, admin queue processing needs to be > converted from polling to interrupt based completion. > > Patches #1-#6 are preparations, making things a bit smoother as well. > Patch #7 implements interrupt based completion for admin queue. > Patch #8 finally removes the admin queue serialization lock. Okay ... I assume this is infrastructure for some other need? I'll review, but I'd like to see this actually used. > Jiri Pirko (8): > virtio_pci: push out single vq find code to vp_find_one_vq_msix() > virtio_pci_modern: treat vp_dev->admin_vq.info.vq pointer as static > virtio: push out code to vp_avq_index() > virtio: create admin queues alongside other virtqueues > virtio_pci_modern: create admin queue of queried size > virtio_pci_modern: pass cmd as an identification token > virtio_pci_modern: use completion instead of busy loop to wait on > admin cmd result > virtio_pci_modern: remove admin queue serialization lock > > drivers/virtio/virtio.c | 28 +---- > drivers/virtio/virtio_pci_common.c | 109 ++++++++++++++------ > drivers/virtio/virtio_pci_common.h | 9 +- > drivers/virtio/virtio_pci_modern.c | 160 ++++++++++++----------------- > include/linux/virtio.h | 2 + > include/linux/virtio_config.h | 2 - > 6 files changed, 150 insertions(+), 160 deletions(-) > > -- > 2.45.1