Subject: [GIT PULL] virtio,vhost,vdpa: features, fixes

From: "Michael S. Tsirkin" <[email-masked]>
Date: Fri, 9 Jul 2021 07:19:52 -0400

The following changes since commit 3dbdb38e286903ec220aaf1fb29a8d94297da246:

  Merge branch 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup (2021-07-01 17:22:14 -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 db7b337709a15d33cc5e901d2ee35d3bb3e42b2f:

  virtio-mem: prioritize unplug from ZONE_MOVABLE in Big Block Mode (2021-07-08 07:49:02 -0400)

----------------------------------------------------------------
virtio,vhost,vdpa: features, fixes

Doorbell remapping for ifcvf, mlx5.
virtio_vdpa support for mlx5.
Validate device input in several drivers (for SEV and friends).
ZONE_MOVABLE aware handling in virtio-mem.
Misc fixes, cleanups.

Signed-off-by: Michael S. Tsirkin <[email-masked]>

----------------------------------------------------------------
David Hildenbrand (7):
      virtio-mem: don't read big block size in Sub Block Mode
      virtio-mem: use page_zonenum() in virtio_mem_fake_offline()
      virtio-mem: simplify high-level plug handling in Sub Block Mode
      virtio-mem: simplify high-level unplug handling in Sub Block Mode
      virtio-mem: prioritize unplug from ZONE_MOVABLE in Sub Block Mode
      virtio-mem: simplify high-level unplug handling in Big Block Mode
      virtio-mem: prioritize unplug from ZONE_MOVABLE in Big Block Mode

Eli Cohen (8):
      vdpa/mlx5: Fix umem sizes assignments on VQ create
      vdpa/mlx5: Fix possible failure in umem size calculation
      vdpa/mlx5: Support creating resources with uid == 0
      vdp/mlx5: Fix setting the correct dma_device
      vdpa/mlx5: Add support for running with virtio_vdpa
      vdpa/mlx5: Add support for doorbell bypassing
      vdpa/mlx5: Clear vq ready indication upon device reset
      virtio/vdpa: clear the virtqueue state during probe

Jason Wang (11):
      vp_vdpa: correct the return value when fail to map notification
      virtio-ring: maintain next in extra state for packed virtqueue
      virtio_ring: rename vring_desc_extra_packed
      virtio-ring: factor out desc_extra allocation
      virtio_ring: secure handling of mapping errors
      virtio_ring: introduce virtqueue_desc_add_split()
      virtio: use err label in __vring_new_virtqueue()
      virtio-ring: store DMA metadata in desc_extra for split virtqueue
      vdpa: support packed virtqueue for set/get_vq_state()
      virtio-pci library: introduce vp_modern_get_driver_features()
      vp_vdpa: allow set vq state to initial state after reset

Michael S. Tsirkin (4):
      virtio_net: move tx vq operation under tx queue lock
      virtio_net: move txq wakeups under tx q lock
      virtio: fix up virtio_disable_cb
      virtio_net: disable cb aggressively

Mike Christie (5):
      vhost: remove work arg from vhost_work_flush
      vhost-scsi: remove extra flushes
      vhost-scsi: reduce flushes during endpoint clearing
      vhost: fix poll coding style
      vhost: fix up vhost_work coding style

Shaokun Zhang (1):
      vhost: Remove the repeated declaration

Sohaib (1):
      virtio_blk: cleanups: remove check obsoleted by CONFIG_LBDAF removal

Stefan Hajnoczi (1):
      virtio-blk: limit seg_max to a safe value

Stefano Garzarella (1):
      vhost-iotlb: fix vhost_iotlb_del_range() documentation

Wan Jiabing (1):
      vdpa_sim_blk: remove duplicate include of linux/blkdev.h

Xie Yongji (3):
      virtio-blk: Fix memory leak among suspend/resume procedure
      virtio_net: Fix error handling in virtnet_restore()
      virtio_console: Assure used length from device is limited

Yang Li (1):
      virtio_ring: Fix kernel-doc

Zhu Lingshan (4):
      vDPA/ifcvf: record virtio notify base
      vDPA/ifcvf: implement doorbell mapping for ifcvf
      virtio: update virtio id table, add transitional ids
      vDPA/ifcvf: reuse pre-defined macros for device ids and vendor ids

 drivers/block/virtio_blk.c             |  17 +-
 drivers/char/virtio_console.c          |   4 +-
 drivers/net/virtio_net.c               |  53 +++--
 drivers/vdpa/ifcvf/ifcvf_base.c        |   4 +
 drivers/vdpa/ifcvf/ifcvf_base.h        |  14 +-
 drivers/vdpa/ifcvf/ifcvf_main.c        |  43 ++--
 drivers/vdpa/mlx5/core/mlx5_vdpa.h     |   2 +
 drivers/vdpa/mlx5/core/mr.c            |  97 ++++++---
 drivers/vdpa/mlx5/core/resources.c     |   7 +
 drivers/vdpa/mlx5/net/mlx5_vnet.c      |  67 +++++--
 drivers/vdpa/vdpa_sim/vdpa_sim.c       |   4 +-
 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c   |   1 -
 drivers/vdpa/virtio_pci/vp_vdpa.c      |  43 +++-
 drivers/vhost/iotlb.c                  |   2 +-
 drivers/vhost/scsi.c                   |  21 +-
 drivers/vhost/vdpa.c                   |   4 +-
 drivers/vhost/vhost.c                  |   8 +-
 drivers/vhost/vhost.h                  |  21 +-
 drivers/vhost/vsock.c                  |   2 +-
 drivers/virtio/virtio_mem.c            | 346 +++++++++++++++++----------------
 drivers/virtio/virtio_pci_modern_dev.c |  21 ++
 drivers/virtio/virtio_ring.c           | 229 ++++++++++++++++------
 drivers/virtio/virtio_vdpa.c           |  15 ++
 include/linux/mlx5/mlx5_ifc.h          |   4 +-
 include/linux/vdpa.h                   |  25 ++-
 include/linux/virtio_pci_modern.h      |   1 +
 include/uapi/linux/virtio_ids.h        |  12 ++
 27 files changed, 713 insertions(+), 354 deletions(-)