Note: dropped some commits at the last moment, I did verify we get the same code in the end as what was in linux next for a while now. The following changes since commit 6995e2de6891c724bfeb2db33d7b87775f913ad1: Linux 6.4 (2023-06-25 16:29:58 -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 9e396a2f434f829fb3b98a24bb8db5429320589d: vhost: Make parameter name match of vhost_get_vq_desc() (2023-07-03 12:15:15 -0400) ---------------------------------------------------------------- virtio: features, fixes, cleanups resume support in vdpa/solidrun structure size optimizations in virtio_pci new pds_vdpa driver immediate initialization mechanism for vdpa/ifcvf interrupt bypass for vdpa/mlx5 multiple worker support for vhost viirtio net in Intel F2000X-PL support for vdpa/ifcvf fixes, cleanups all over the place Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> ---------------------------------------------------------------- Alvaro Karsz (1): vdpa/snet: implement the resume vDPA callback Dragos Tatulea (1): virtio-vdpa: Fix unchecked call to NULL set_vq_affinity Eli Cohen (1): vdpa/mlx5: Support interrupt bypassing Feng Liu (1): virtio_pci: Optimize virtio_pci_device structure size Krzysztof Kozlowski (1): vdpa: solidrun: constify pointers to hwmon_channel_info Maxime Coquelin (1): vduse: fix NULL pointer dereference Mike Christie (17): vhost: create worker at end of vhost_dev_set_owner vhost: dynamically allocate vhost_worker vhost: add vhost_worker pointer to vhost_virtqueue vhost, vhost_net: add helper to check if vq has work vhost: take worker or vq instead of dev for queueing vhost: take worker or vq for flushing vhost: convert poll work to be vq based vhost_sock: convert to vhost_vq_work_queue vhost_scsi: make SCSI cmd completion per vq vhost_scsi: convert to vhost_vq_work_queue vhost_scsi: flush IO vqs then send TMF rsp vhost: remove vhost_work_queue vhost: add helper to parse userspace vring state/file vhost: replace single worker pointer with xarray vhost: allow userspace to create workers vhost_scsi: add support for worker ioctls vhost: Allow worker switching while work is queueing Peng Fan (1): tools/virtio: fix build break for aarch64 Shannon Nelson (11): virtio: allow caller to override device id in vp_modern virtio: allow caller to override device DMA mask in vp_modern pds_vdpa: Add new vDPA driver for AMD/Pensando DSC pds_vdpa: move enum from common to adminq header pds_vdpa: new adminq entries pds_vdpa: get vdpa management info pds_vdpa: virtio bar setup for vdpa pds_vdpa: add vdpa config client commands pds_vdpa: add support for vdpa and vdpamgmt interfaces pds_vdpa: subscribe to the pds_core events pds_vdpa: pds_vdps.rst and Kconfig Simon Horman (1): virtio: Add missing documentation for structure fields Xianting Tian (4): virtio-crypto: call scheduler when we free unused buffs virtio-console: call scheduler when we free unused buffs virtio_bt: call scheduler when we free unused buffs vhost: Make parameter name match of vhost_get_vq_desc() Zhu Lingshan (8): vDPA/ifcvf: virt queue ops take immediate actions vDPA/ifcvf: get_driver_features from virtio registers vDPA/ifcvf: retire ifcvf_start_datapath and ifcvf_add_status vDPA/ifcvf: synchronize irqs in the reset routine vDPA/ifcvf: a vendor driver should not set _CONFIG_S_FAILED vDPA/ifcvf: dynamic allocate vq data stores vDPA/ifcvf: detect and report max allowed vq size vDPA/ifcvf: implement new accessors for vq_state .../device_drivers/ethernet/amd/pds_vdpa.rst | 85 +++ .../networking/device_drivers/ethernet/index.rst | 1 + MAINTAINERS | 4 + drivers/bluetooth/virtio_bt.c | 1 + drivers/char/virtio_console.c | 1 + drivers/crypto/virtio/virtio_crypto_core.c | 1 + drivers/vdpa/Kconfig | 10 + drivers/vdpa/Makefile | 1 + drivers/vdpa/ifcvf/ifcvf_base.c | 215 +++--- drivers/vdpa/ifcvf/ifcvf_base.h | 48 +- drivers/vdpa/ifcvf/ifcvf_main.c | 108 +-- drivers/vdpa/mlx5/net/mlx5_vnet.c | 165 ++++- drivers/vdpa/mlx5/net/mlx5_vnet.h | 15 + drivers/vdpa/pds/Makefile | 10 + drivers/vdpa/pds/aux_drv.c | 140 ++++ drivers/vdpa/pds/aux_drv.h | 26 + drivers/vdpa/pds/cmds.c | 185 +++++ drivers/vdpa/pds/cmds.h | 18 + drivers/vdpa/pds/debugfs.c | 289 ++++++++ drivers/vdpa/pds/debugfs.h | 17 + drivers/vdpa/pds/vdpa_dev.c | 769 +++++++++++++++++++++ drivers/vdpa/pds/vdpa_dev.h | 49 ++ drivers/vdpa/solidrun/snet_ctrl.c | 6 + drivers/vdpa/solidrun/snet_hwmon.c | 2 +- drivers/vdpa/solidrun/snet_main.c | 15 + drivers/vdpa/solidrun/snet_vdpa.h | 1 + drivers/vdpa/vdpa_user/vduse_dev.c | 6 +- drivers/vhost/net.c | 8 +- drivers/vhost/scsi.c | 103 +-- drivers/vhost/vhost.c | 425 ++++++++++-- drivers/vhost/vhost.h | 24 +- drivers/vhost/vsock.c | 4 +- drivers/virtio/virtio_pci_common.h | 7 +- drivers/virtio/virtio_pci_modern_dev.c | 33 +- drivers/virtio/virtio_vdpa.c | 4 +- include/linux/pds/pds_adminq.h | 247 +++++++ include/linux/pds/pds_common.h | 21 +- include/linux/virtio.h | 5 +- include/linux/virtio_pci_modern.h | 6 + include/uapi/linux/vhost.h | 31 + include/uapi/linux/vhost_types.h | 16 + tools/virtio/Makefile | 13 +- 42 files changed, 2777 insertions(+), 358 deletions(-) create mode 100644 Documentation/networking/device_drivers/ethernet/amd/pds_vdpa.rst create mode 100644 drivers/vdpa/pds/Makefile create mode 100644 drivers/vdpa/pds/aux_drv.c create mode 100644 drivers/vdpa/pds/aux_drv.h create mode 100644 drivers/vdpa/pds/cmds.c create mode 100644 drivers/vdpa/pds/cmds.h create mode 100644 drivers/vdpa/pds/debugfs.c create mode 100644 drivers/vdpa/pds/debugfs.h create mode 100644 drivers/vdpa/pds/vdpa_dev.c create mode 100644 drivers/vdpa/pds/vdpa_dev.h