On Wed, Jul 17, 2024 at 05:30:34AM -0400, Michael S. Tsirkin wrote: > This is relatively small. > I had to drop a buggy commit in the middle so some hashes > changed from what was in linux-next. > Deferred admin vq scalability fix to after rc2 as a minor issue was > found with it recently, but the infrastructure for it > is there now. BTW I forgot to mention a merge conflict with char-misc that is also adding an entry in MAINTAINERS. It's trivial to resolve. > The following changes since commit e9d22f7a6655941fc8b2b942ed354ec780936b3e: > > Merge tag 'linux_kselftest-fixes-6.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest (2024-07-02 13:53:24 -0700) > > are available in the Git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus > > for you to fetch changes up to 6c85d6b653caeba2ef982925703cbb4f2b3b3163: > > virtio: rename virtio_find_vqs_info() to virtio_find_vqs() (2024-07-17 05:20:58 -0400) > > ---------------------------------------------------------------- > virtio: features, fixes, cleanups > > Several new features here: > > - Virtio find vqs API has been reworked > (required to fix the scalability issue we have with > adminq, which I hope to merge later in the cycle) > > - vDPA driver for Marvell OCTEON > > - virtio fs performance improvement > > - mlx5 migration speedups > > Fixes, cleanups all over the place. > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > > ---------------------------------------------------------------- > Denis Arefev (1): > net: missing check virtio > > Dragos Tatulea (24): > vdpa/mlx5: Clarify meaning thorough function rename > vdpa/mlx5: Make setup/teardown_vq_resources() symmetrical > vdpa/mlx5: Drop redundant code > vdpa/mlx5: Drop redundant check in teardown_virtqueues() > vdpa/mlx5: Iterate over active VQs during suspend/resume > vdpa/mlx5: Remove duplicate suspend code > vdpa/mlx5: Initialize and reset device with one queue pair > vdpa/mlx5: Clear and reinitialize software VQ data on reset > vdpa/mlx5: Rename init_mvqs > vdpa/mlx5: Add support for modifying the virtio_version VQ field > vdpa/mlx5: Add support for modifying the VQ features field > vdpa/mlx5: Set an initial size on the VQ > vdpa/mlx5: Start off rqt_size with max VQPs > vdpa/mlx5: Set mkey modified flags on all VQs > vdpa/mlx5: Allow creation of blank VQs > vdpa/mlx5: Accept Init -> Ready VQ transition in resume_vq() > vdpa/mlx5: Add error code for suspend/resume VQ > vdpa/mlx5: Consolidate all VQ modify to Ready to use resume_vq() > vdpa/mlx5: Forward error in suspend/resume device > vdpa/mlx5: Use suspend/resume during VQP change > vdpa/mlx5: Pre-create hardware VQs at vdpa .dev_add time > vdpa/mlx5: Re-create HW VQs under certain conditions > vdpa/mlx5: Don't reset VQs more than necessary > vdpa/mlx5: Don't enable non-active VQs in .set_vq_ready() > > Jeff Johnson (3): > vringh: add MODULE_DESCRIPTION() > virtio: add missing MODULE_DESCRIPTION() macros > vDPA: add missing MODULE_DESCRIPTION() macros > > Jiri Pirko (19): > caif_virtio: use virtio_find_single_vq() for single virtqueue finding > virtio: make virtio_find_vqs() call virtio_find_vqs_ctx() > virtio: make virtio_find_single_vq() call virtio_find_vqs() > virtio: introduce virtio_queue_info struct and find_vqs_info() config op > virtio_pci: convert vp_*find_vqs() ops to find_vqs_info() > virtio: convert find_vqs() op implementations to find_vqs_info() > virtio: call virtio_find_vqs_info() from virtio_find_single_vq() directly > virtio: remove the original find_vqs() op > virtio: rename find_vqs_info() op to find_vqs() > virtio_blk: convert to use virtio_find_vqs_info() > virtio_console: convert to use virtio_find_vqs_info() > virtio_crypto: convert to use virtio_find_vqs_info() > virtio_net: convert to use virtio_find_vqs_info() > scsi: virtio_scsi: convert to use virtio_find_vqs_info() > virtiofs: convert to use virtio_find_vqs_info() > virtio_balloon: convert to use virtio_find_vqs_info() > virtio: convert the rest virtio_find_vqs() users to virtio_find_vqs_info() > virtio: remove unused virtio_find_vqs() and virtio_find_vqs_ctx() helpers > virtio: rename virtio_find_vqs_info() to virtio_find_vqs() > > Michael S. Tsirkin (2): > vhost/vsock: always initialize seqpacket_allow > vhost: move smp_rmb() into vhost_get_avail_idx() > > Peter-Jan Gootzen (2): > virtio-fs: let -ENOMEM bubble up or burst gently > virtio-fs: improved request latencies when Virtio queue is full > > Srujana Challa (1): > virtio: vdpa: vDPA driver for Marvell OCTEON DPU devices > > Xuan Zhuo (1): > virtio_ring: fix KMSAN error for premapped mode > > Yunseong Kim (1): > tools/virtio: creating pipe assertion in vringh_test > > Zhu Lingshan (1): > MAINTAINERS: Change lingshan's email to kernel.org > > zhenwei pi (1): > virtio_balloon: separate vm events into a function > > MAINTAINERS | 7 +- > arch/um/drivers/virt-pci.c | 8 +- > arch/um/drivers/virtio_uml.c | 12 +- > drivers/block/virtio_blk.c | 20 +- > drivers/bluetooth/virtio_bt.c | 13 +- > drivers/char/virtio_console.c | 43 +- > drivers/crypto/virtio/virtio_crypto_core.c | 31 +- > drivers/firmware/arm_scmi/virtio.c | 11 +- > drivers/gpio/gpio-virtio.c | 10 +- > drivers/gpu/drm/virtio/virtgpu_kms.c | 9 +- > drivers/iommu/virtio-iommu.c | 11 +- > drivers/net/caif/caif_virtio.c | 8 +- > drivers/net/virtio_net.c | 34 +- > drivers/net/wireless/virtual/mac80211_hwsim.c | 12 +- > drivers/platform/mellanox/mlxbf-tmfifo.c | 10 +- > drivers/remoteproc/remoteproc_virtio.c | 12 +- > drivers/rpmsg/virtio_rpmsg_bus.c | 8 +- > drivers/s390/virtio/virtio_ccw.c | 13 +- > drivers/scsi/virtio_scsi.c | 32 +- > drivers/vdpa/Kconfig | 11 + > drivers/vdpa/Makefile | 1 + > drivers/vdpa/ifcvf/ifcvf_main.c | 1 + > drivers/vdpa/mlx5/net/mlx5_vnet.c | 429 ++++++++----- > drivers/vdpa/mlx5/net/mlx5_vnet.h | 1 + > drivers/vdpa/octeon_ep/Makefile | 4 + > drivers/vdpa/octeon_ep/octep_vdpa.h | 94 +++ > drivers/vdpa/octeon_ep/octep_vdpa_hw.c | 517 ++++++++++++++++ > drivers/vdpa/octeon_ep/octep_vdpa_main.c | 857 ++++++++++++++++++++++++++ > drivers/vdpa/vdpa.c | 1 + > drivers/vhost/vhost.c | 105 ++-- > drivers/vhost/vringh.c | 1 + > drivers/vhost/vsock.c | 4 +- > drivers/virtio/virtio.c | 1 + > drivers/virtio/virtio_balloon.c | 75 ++- > drivers/virtio/virtio_input.c | 9 +- > drivers/virtio/virtio_mmio.c | 12 +- > drivers/virtio/virtio_pci_common.c | 48 +- > drivers/virtio/virtio_pci_common.h | 3 +- > drivers/virtio/virtio_pci_modern.c | 5 +- > drivers/virtio/virtio_ring.c | 5 +- > drivers/virtio/virtio_vdpa.c | 13 +- > fs/fuse/virtio_fs.c | 62 +- > include/linux/mlx5/mlx5_ifc_vdpa.h | 2 + > include/linux/virtio_config.h | 64 +- > include/linux/virtio_net.h | 11 + > net/vmw_vsock/virtio_transport.c | 16 +- > sound/virtio/virtio_card.c | 23 +- > tools/virtio/vringh_test.c | 9 +- > 48 files changed, 2145 insertions(+), 543 deletions(-) > create mode 100644 drivers/vdpa/octeon_ep/Makefile > create mode 100644 drivers/vdpa/octeon_ep/octep_vdpa.h > create mode 100644 drivers/vdpa/octeon_ep/octep_vdpa_hw.c > create mode 100644 drivers/vdpa/octeon_ep/octep_vdpa_main.c