[PATCH v4 0/6] virtio: drop sizing vqs during init

From: Michael S. Tsirkin
Date: Tue Aug 16 2022 - 04:11:12 EST




Supplying size during init does not work for all transports.
In fact for legacy pci doing that causes a memory
corruption which was reported on Google Cloud.

We might get away with changing size to size_hint so it's
safe to ignore and then fixing legacy to ignore the hint.

But the benefit is unclear in any case, so let's revert for now.
Any new version will have to come with
- documentation of performance gains
- performance testing showing existing workflows
are not harmed materially. especially ones with
bursty traffic
- report of testing on legacy devices


Huge shout out to Andres Freund for the effort spent reproducing and
debugging! Thanks to Guenter Roeck for help with testing!


changes from v3
added a vdpa revert
changes from v2
drop unrelated patches
changes from v1
revert the ring size api, it's unused now

Michael S. Tsirkin (5):
virtio_net: Revert "virtio_net: set the default max ring size by
find_vqs()"


Michael S. Tsirkin (6):
virtio_net: Revert "virtio_net: set the default max ring size by
find_vqs()"


Michael S. Tsirkin (6):
virtio_net: Revert "virtio_net: set the default max ring size by
find_vqs()"
virtio: Revert "virtio: add helper virtio_find_vqs_ctx_size()"
virtio-mmio: Revert "virtio_mmio: support the arg sizes of find_vqs()"
virtio_pci: Revert "virtio_pci: support the arg sizes of find_vqs()"
virtio_vdpa: Revert "virtio_vdpa: support the arg sizes of find_vqs()"
virtio: Revert "virtio: find_vqs() add arg sizes"

arch/um/drivers/virtio_uml.c | 2 +-
drivers/net/virtio_net.c | 42 +++---------------------
drivers/platform/mellanox/mlxbf-tmfifo.c | 1 -
drivers/remoteproc/remoteproc_virtio.c | 1 -
drivers/s390/virtio/virtio_ccw.c | 1 -
drivers/virtio/virtio_mmio.c | 9 ++---
drivers/virtio/virtio_pci_common.c | 20 +++++------
drivers/virtio/virtio_pci_common.h | 3 +-
drivers/virtio/virtio_pci_legacy.c | 6 +---
drivers/virtio/virtio_pci_modern.c | 17 +++-------
drivers/virtio/virtio_vdpa.c | 16 ++++-----
include/linux/virtio_config.h | 26 +++------------
12 files changed, 34 insertions(+), 110 deletions(-)

--
MST