Messages in this thread | | | Date | Wed, 29 Mar 2017 23:48:43 +0300 | From | "Michael S. Tsirkin" <> | Subject | [PATCH 0/6] virtio: support extra per-buffer context |
| |
virtio net is resorting to hacks in order to fit all per-buffer info in a single 64 bit value. But in fact we have some unused memory there - normally used for indirect descriptors - that we can utilize without slowing everyone down.
Add APIs to do exactly that, and use them to simplify mergeable buffer handling code.
This will also easily enable switching XDP mode on/off without doing device resets (leading to packet drops), and more optimizations.
Michael S. Tsirkin (6): virtio: wrap find_vqs virtio: add context flag to find vqs virtio: allow extra context per descriptor virtio_net: allow specifying context for rx virtio_net: rework mergeable buffer handling virtio_net: reduce alignment for buffers
drivers/block/virtio_blk.c | 3 +- drivers/char/virtio_console.c | 6 +- drivers/crypto/virtio/virtio_crypto_core.c | 3 +- drivers/gpu/drm/virtio/virtgpu_kms.c | 3 +- drivers/misc/mic/vop/vop_main.c | 9 ++- drivers/net/caif/caif_virtio.c | 3 +- drivers/net/virtio_net.c | 116 ++++++++++++++--------------- drivers/rpmsg/virtio_rpmsg_bus.c | 2 +- drivers/s390/virtio/kvm_virtio.c | 6 +- drivers/s390/virtio/virtio_ccw.c | 7 +- drivers/scsi/virtio_scsi.c | 3 +- drivers/virtio/virtio_balloon.c | 3 +- drivers/virtio/virtio_input.c | 3 +- drivers/virtio/virtio_mmio.c | 8 +- drivers/virtio/virtio_pci_common.c | 18 +++-- drivers/virtio/virtio_pci_common.h | 4 +- drivers/virtio/virtio_pci_legacy.c | 4 +- drivers/virtio/virtio_pci_modern.c | 12 ++- drivers/virtio/virtio_ring.c | 77 +++++++++++++++---- include/linux/virtio.h | 9 +++ include/linux/virtio_config.h | 25 ++++++- include/linux/virtio_ring.h | 3 + net/vmw_vsock/virtio_transport.c | 6 +- 23 files changed, 212 insertions(+), 121 deletions(-)
-- MST
| |