[GIT PULL] virtio: features, fixes, cleanups

From: Michael S. Tsirkin
Date: Wed May 22 2024 - 06:03:30 EST


Things to note here:

- the new Marvell OCTEON DPU driver is not here: latest v4 keeps causing
build failures on mips. I deferred the pull hoping to get it in
and I might merge a new version post rc1
(supposed to be ok for new drivers as they can't cause regressions),
but we'll see.
- there are also a couple bugfixes under review, to be merged after rc1
- I merged a trivial patch (removing a comment) that also got
merged through net.
git handles this just fine and it did not seem worth it
rebasing to drop it.
- there is a trivial conflict in the header file. Shouldn't be any
trouble to resolve, but fyi the resolution by Stephen is here
diff --cc drivers/virtio/virtio_mem.c
index e8355f55a8f7,6d4dfbc53a66..000000000000
--- a/drivers/virtio/virtio_mem.c
+++ b/drivers/virtio/virtio_mem.c
@@@ -21,7 -21,7 +21,8 @@@
#include <linux/bitmap.h>
#include <linux/lockdep.h>
#include <linux/log2.h>
+#include <linux/vmalloc.h>
+ #include <linux/suspend.h>
Also see it here:
https://lore.kernel.org/all/20240423145947.142171f6@xxxxxxxxxxxxxxxx/



The following changes since commit 18daea77cca626f590fb140fc11e3a43c5d41354:

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm (2024-04-30 12:40:41 -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 0b8dbbdcf2e42273fbac9b752919e2e5b2abac21:

Merge tag 'for_linus' into vhost (2024-05-12 08:15:28 -0400)

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

Several new features here:

- virtio-net is finally supported in vduse.

- Virtio (balloon and mem) interaction with suspend is improved

- vhost-scsi now handles signals better/faster.

- virtio-net now supports premapped mode by default,
opening the door for all kind of zero copy tricks.

Fixes, cleanups all over the place.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

----------------------------------------------------------------
Christophe JAILLET (1):
vhost-vdpa: Remove usage of the deprecated ida_simple_xx() API

David Hildenbrand (1):
virtio-mem: support suspend+resume

David Stevens (2):
virtio_balloon: Give the balloon its own wakeup source
virtio_balloon: Treat stats requests as wakeup events

Eugenio Pérez (2):
MAINTAINERS: add Eugenio Pérez as reviewer
MAINTAINERS: add Eugenio Pérez as reviewer

Jiri Pirko (1):
virtio: delete vq in vp_find_vqs_msix() when request_irq() fails

Krzysztof Kozlowski (24):
virtio: balloon: drop owner assignment
virtio: input: drop owner assignment
virtio: mem: drop owner assignment
um: virt-pci: drop owner assignment
virtio_blk: drop owner assignment
bluetooth: virtio: drop owner assignment
hwrng: virtio: drop owner assignment
virtio_console: drop owner assignment
crypto: virtio - drop owner assignment
firmware: arm_scmi: virtio: drop owner assignment
gpio: virtio: drop owner assignment
drm/virtio: drop owner assignment
iommu: virtio: drop owner assignment
misc: nsm: drop owner assignment
net: caif: virtio: drop owner assignment
net: virtio: drop owner assignment
net: 9p: virtio: drop owner assignment
vsock/virtio: drop owner assignment
wifi: mac80211_hwsim: drop owner assignment
nvdimm: virtio_pmem: drop owner assignment
rpmsg: virtio: drop owner assignment
scsi: virtio: drop owner assignment
fuse: virtio: drop owner assignment
sound: virtio: drop owner assignment

Li Zhijian (1):
vdpa: Convert sprintf/snprintf to sysfs_emit

Maxime Coquelin (6):
vduse: validate block features only with block devices
vduse: Temporarily fail if control queue feature requested
vduse: enable Virtio-net device type
vduse: validate block features only with block devices
vduse: Temporarily fail if control queue feature requested
vduse: enable Virtio-net device type

Michael S. Tsirkin (2):
Merge tag 'stable/vduse-virtio-net' into vhost
Merge tag 'for_linus' into vhost

Mike Christie (9):
vhost-scsi: Handle vhost_vq_work_queue failures for events
vhost-scsi: Handle vhost_vq_work_queue failures for cmds
vhost-scsi: Use system wq to flush dev for TMFs
vhost: Remove vhost_vq_flush
vhost_scsi: Handle vhost_vq_work_queue failures for TMFs
vhost: Use virtqueue mutex for swapping worker
vhost: Release worker mutex during flushes
vhost_task: Handle SIGKILL by flushing work and exiting
kernel: Remove signal hacks for vhost_tasks

Uwe Kleine-König (1):
virtio-mmio: Convert to platform remove callback returning void

Xuan Zhuo (7):
virtio_ring: introduce dma map api for page
virtio_ring: enable premapped mode whatever use_dma_api
virtio_net: replace private by pp struct inside page
virtio_net: big mode support premapped
virtio_net: enable premapped by default
virtio_net: rx remove premapped failover code
virtio_net: remove the misleading comment

Yuxue Liu (2):
vp_vdpa: Fix return value check vp_vdpa_request_irq
vp_vdpa: don't allocate unused msix vectors

Zhu Lingshan (1):
MAINTAINERS: apply maintainer role of Intel vDPA driver

MAINTAINERS | 10 +-
arch/um/drivers/virt-pci.c | 1 -
drivers/block/virtio_blk.c | 1 -
drivers/bluetooth/virtio_bt.c | 1 -
drivers/char/hw_random/virtio-rng.c | 1 -
drivers/char/virtio_console.c | 2 -
drivers/crypto/virtio/virtio_crypto_core.c | 1 -
drivers/firmware/arm_scmi/virtio.c | 1 -
drivers/gpio/gpio-virtio.c | 1 -
drivers/gpu/drm/virtio/virtgpu_drv.c | 1 -
drivers/iommu/virtio-iommu.c | 1 -
drivers/misc/nsm.c | 1 -
drivers/net/caif/caif_virtio.c | 1 -
drivers/net/virtio_net.c | 248 +++++++++++++++++---------
drivers/net/wireless/virtual/mac80211_hwsim.c | 1 -
drivers/nvdimm/virtio_pmem.c | 1 -
drivers/rpmsg/virtio_rpmsg_bus.c | 1 -
drivers/scsi/virtio_scsi.c | 1 -
drivers/vdpa/vdpa.c | 2 +-
drivers/vdpa/vdpa_user/vduse_dev.c | 24 ++-
drivers/vdpa/virtio_pci/vp_vdpa.c | 27 ++-
drivers/vhost/scsi.c | 70 +++++---
drivers/vhost/vdpa.c | 6 +-
drivers/vhost/vhost.c | 130 ++++++++++----
drivers/vhost/vhost.h | 3 +-
drivers/virtio/virtio_balloon.c | 85 +++++----
drivers/virtio/virtio_input.c | 1 -
drivers/virtio/virtio_mem.c | 69 ++++++-
drivers/virtio/virtio_mmio.c | 6 +-
drivers/virtio/virtio_pci_common.c | 4 +-
drivers/virtio/virtio_ring.c | 59 +++++-
fs/coredump.c | 4 +-
fs/fuse/virtio_fs.c | 1 -
include/linux/sched/vhost_task.h | 3 +-
include/linux/virtio.h | 7 +
include/uapi/linux/virtio_mem.h | 2 +
kernel/exit.c | 5 +-
kernel/signal.c | 4 +-
kernel/vhost_task.c | 53 ++++--
net/9p/trans_virtio.c | 1 -
net/vmw_vsock/virtio_transport.c | 1 -
sound/virtio/virtio_card.c | 1 -
42 files changed, 578 insertions(+), 265 deletions(-)