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

From: "Michael S. Tsirkin" <[email-masked]>
Date: Wed, 23 Dec 2020 07:24:48 -0500

The following changes since commit 2c85ebc57b3e1817b6ce1a6b703928e113a90442:

  Linux 5.10 (2020-12-13 14:41:30 -0800)

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 418eddef050d5f6393c303a94e3173847ab85466:

  vdpa: Use simpler version of ida allocation (2020-12-18 16:14:31 -0500)

----------------------------------------------------------------
virtio,vdpa: features, cleanups, fixes

vdpa sim refactoring
virtio mem  Big Block Mode support
misc cleanus, fixes

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

----------------------------------------------------------------
Christophe JAILLET (1):
      vdpa: ifcvf: Use dma_set_mask_and_coherent to simplify code

Dan Carpenter (3):
      virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()
      virtio_net: Fix error code in probe()
      virtio_ring: Fix two use after free bugs

David Hildenbrand (29):
      virtio-mem: determine nid only once using memory_add_physaddr_to_nid()
      virtio-mem: more precise calculation in virtio_mem_mb_state_prepare_next_mb()
      virtio-mem: simplify MAX_ORDER - 1 / pageblock_order handling
      virtio-mem: drop rc2 in virtio_mem_mb_plug_and_add()
      virtio-mem: use "unsigned long" for nr_pages when fake onlining/offlining
      virtio-mem: factor out calculation of the bit number within the subblock bitmap
      virtio-mem: print debug messages from virtio_mem_send_*_request()
      virtio-mem: factor out fake-offlining into virtio_mem_fake_offline()
      virtio-mem: factor out handling of fake-offline pages in memory notifier
      virtio-mem: retry fake-offlining via alloc_contig_range() on ZONE_MOVABLE
      virtio-mem: generalize check for added memory
      virtio-mem: generalize virtio_mem_owned_mb()
      virtio-mem: generalize virtio_mem_overlaps_range()
      virtio-mem: drop last_mb_id
      virtio-mem: don't always trigger the workqueue when offlining memory
      virtio-mem: generalize handling when memory is getting onlined deferred
      virito-mem: document Sub Block Mode (SBM)
      virtio-mem: memory block states are specific to Sub Block Mode (SBM)
      virito-mem: subblock states are specific to Sub Block Mode (SBM)
      virtio-mem: nb_sb_per_mb and subblock_size are specific to Sub Block Mode (SBM)
      virtio-mem: memory block ids are specific to Sub Block Mode (SBM)
      virito-mem: existing (un)plug functions are specific to Sub Block Mode (SBM)
      virtio-mem: memory notifier callbacks are specific to Sub Block Mode (SBM)
      virtio-mem: factor out adding/removing memory from Linux
      virtio-mem: Big Block Mode (BBM) memory hotplug
      virtio-mem: allow to force Big Block Mode (BBM) and set the big block size
      mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block
      virtio-mem: Big Block Mode (BBM) - basic memory hotunplug
      virtio-mem: Big Block Mode (BBM) - safe memory hotunplug

Eli Cohen (1):
      vdpa/mlx5: Use write memory barrier after updating CQ index

Enrico Weigelt, metux IT consult (2):
      uapi: virtio_ids.h: consistent indentions
      uapi: virtio_ids: add missing device type IDs from OASIS spec

Max Gurtovoy (2):
      vdpa_sim: remove hard-coded virtq count
      vdpa: split vdpasim to core and net modules

Parav Pandit (2):
      vdpa: Add missing comment for virtqueue count
      vdpa: Use simpler version of ida allocation

Peng Fan (3):
      tools/virtio: include asm/bug.h
      tools/virtio: add krealloc_array
      tools/virtio: add barrier for aarch64

Stefano Garzarella (16):
      vdpa: remove unnecessary 'default n' in Kconfig entries
      vdpa_sim: remove unnecessary headers inclusion
      vdpa_sim: make IOTLB entries limit configurable
      vdpa_sim: rename vdpasim_config_ops variables
      vdpa_sim: add struct vdpasim_dev_attr for device attributes
      vdpa_sim: add device id field in vdpasim_dev_attr
      vdpa_sim: add supported_features field in vdpasim_dev_attr
      vdpa_sim: add work_fn in vdpasim_dev_attr
      vdpa_sim: store parsed MAC address in a buffer
      vdpa_sim: make 'config' generic and usable for any device type
      vdpa_sim: add get_config callback in vdpasim_dev_attr
      vdpa_sim: add set_config callback in vdpasim_dev_attr
      vdpa_sim: set vringh notify callback
      vdpa_sim: use kvmalloc to allocate vdpasim->buffer
      vdpa_sim: make vdpasim->buffer size configurable
      vdpa_sim: split vdpasim_virtqueue's iov field in out_iov and in_iov

Tian Tao (1):
      vhost_vdpa: switch to vmemdup_user()

Zhang Changzhong (1):
      vhost scsi: fix error return code in vhost_scsi_set_endpoint()

 drivers/net/virtio_net.c             |    1 +
 drivers/vdpa/Kconfig                 |   18 +-
 drivers/vdpa/ifcvf/ifcvf_main.c      |   11 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.c    |    5 +
 drivers/vdpa/vdpa.c                  |    2 +-
 drivers/vdpa/vdpa_sim/Makefile       |    1 +
 drivers/vdpa/vdpa_sim/vdpa_sim.c     |  298 ++----
 drivers/vdpa/vdpa_sim/vdpa_sim.h     |  105 ++
 drivers/vdpa/vdpa_sim/vdpa_sim_net.c |  177 ++++
 drivers/vhost/scsi.c                 |    3 +-
 drivers/vhost/vdpa.c                 |   10 +-
 drivers/virtio/virtio_mem.c          | 1835 ++++++++++++++++++++++++----------
 drivers/virtio/virtio_ring.c         |    8 +-
 include/linux/vdpa.h                 |    1 +
 include/uapi/linux/virtio_ids.h      |   44 +-
 mm/memory_hotplug.c                  |  109 +-
 tools/virtio/asm/barrier.h           |   10 +
 tools/virtio/linux/bug.h             |    2 +
 tools/virtio/linux/kernel.h          |   13 +-
 19 files changed, 1843 insertions(+), 810 deletions(-)
 create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim.h
 create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim_net.c