[GIT PULL v2] vhost: cleanups and fixes
From: Michael S. Tsirkin
Date: Tue Apr 07 2020 - 05:53:43 EST
Changes from PULL v1:
reverted a commit that was also in Andrew Morton's tree,
to resolve a merge conflict:
this is what Stephen Rothwell was doing to resolve it
in linux-next.
Now that many more architectures build vhost, a couple of these (um, and
arm with deprecated oabi) have reported build failures with randconfig,
however fixes for that need a bit more discussion/testing and will be
merged separately.
Not a regression - these previously simply didn't have vhost at all.
Also, there's some DMA API code in the vdpa simulator is hacky - if no
solution surfaces soon we can always disable it before release:
it's not a big deal either way as it's just test code.
The following changes since commit 16fbf79b0f83bc752cee8589279f1ebfe57b3b6e:
Linux 5.6-rc7 (2020-03-22 18:31:56 -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 835a6a649d0dd1b1f46759eb60fff2f63ed253a7:
virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM" (2020-04-07 05:44:57 -0400)
----------------------------------------------------------------
virtio: fixes, vdpa
Some bug fixes.
The new vdpa subsystem with two first drivers.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
----------------------------------------------------------------
David Hildenbrand (1):
virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
Jason Wang (7):
vhost: refine vhost and vringh kconfig
vhost: allow per device message handler
vhost: factor out IOTLB
vringh: IOTLB support
vDPA: introduce vDPA bus
virtio: introduce a vDPA based transport
vdpasim: vDPA device simulator
Michael S. Tsirkin (3):
tools/virtio: option to build an out of tree module
vdpa: move to drivers/vdpa
virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM"
Tiwei Bie (1):
vhost: introduce vDPA-based backend
Yuri Benditovich (3):
virtio-net: Introduce extended RSC feature
virtio-net: Introduce RSS receive steering feature
virtio-net: Introduce hash report feature
Zhu Lingshan (1):
virtio: Intel IFC VF driver for VDPA
MAINTAINERS | 3 +
arch/arm/kvm/Kconfig | 2 -
arch/arm64/kvm/Kconfig | 2 -
arch/mips/kvm/Kconfig | 2 -
arch/powerpc/kvm/Kconfig | 2 -
arch/s390/kvm/Kconfig | 4 -
arch/x86/kvm/Kconfig | 4 -
drivers/Kconfig | 4 +
drivers/Makefile | 1 +
drivers/misc/mic/Kconfig | 4 -
drivers/net/caif/Kconfig | 4 -
drivers/vdpa/Kconfig | 37 ++
drivers/vdpa/Makefile | 4 +
drivers/vdpa/ifcvf/Makefile | 3 +
drivers/vdpa/ifcvf/ifcvf_base.c | 389 +++++++++++++++++
drivers/vdpa/ifcvf/ifcvf_base.h | 118 ++++++
drivers/vdpa/ifcvf/ifcvf_main.c | 435 +++++++++++++++++++
drivers/vdpa/vdpa.c | 180 ++++++++
drivers/vdpa/vdpa_sim/Makefile | 2 +
drivers/vdpa/vdpa_sim/vdpa_sim.c | 629 ++++++++++++++++++++++++++++
drivers/vhost/Kconfig | 45 +-
drivers/vhost/Kconfig.vringh | 6 -
drivers/vhost/Makefile | 6 +
drivers/vhost/iotlb.c | 177 ++++++++
drivers/vhost/net.c | 5 +-
drivers/vhost/scsi.c | 2 +-
drivers/vhost/vdpa.c | 883 +++++++++++++++++++++++++++++++++++++++
drivers/vhost/vhost.c | 233 ++++-------
drivers/vhost/vhost.h | 45 +-
drivers/vhost/vringh.c | 421 ++++++++++++++++++-
drivers/vhost/vsock.c | 2 +-
drivers/virtio/Kconfig | 13 +
drivers/virtio/Makefile | 1 +
drivers/virtio/virtio_vdpa.c | 396 ++++++++++++++++++
include/linux/vdpa.h | 253 +++++++++++
include/linux/vhost_iotlb.h | 47 +++
include/linux/vringh.h | 36 ++
include/uapi/linux/vhost.h | 24 ++
include/uapi/linux/vhost_types.h | 8 +
include/uapi/linux/virtio_net.h | 102 ++++-
tools/virtio/Makefile | 27 +-
41 files changed, 4310 insertions(+), 251 deletions(-)
create mode 100644 drivers/vdpa/Kconfig
create mode 100644 drivers/vdpa/Makefile
create mode 100644 drivers/vdpa/ifcvf/Makefile
create mode 100644 drivers/vdpa/ifcvf/ifcvf_base.c
create mode 100644 drivers/vdpa/ifcvf/ifcvf_base.h
create mode 100644 drivers/vdpa/ifcvf/ifcvf_main.c
create mode 100644 drivers/vdpa/vdpa.c
create mode 100644 drivers/vdpa/vdpa_sim/Makefile
create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim.c
delete mode 100644 drivers/vhost/Kconfig.vringh
create mode 100644 drivers/vhost/iotlb.c
create mode 100644 drivers/vhost/vdpa.c
create mode 100644 drivers/virtio/virtio_vdpa.c
create mode 100644 include/linux/vdpa.h
create mode 100644 include/linux/vhost_iotlb.h