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

From: Michael S. Tsirkin
Date: Wed Dec 23 2020 - 07:27:04 EST


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 <mst@xxxxxxxxxx>

----------------------------------------------------------------
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