linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] vhost: fixes, vdpa
@ 2020-04-06 21:11 Michael S. Tsirkin
  2020-04-07  9:50 ` Michael S. Tsirkin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2020-04-06 21:11 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: kvm, virtualization, netdev, linux-kernel, alexander.h.duyck,
	david, eperezma, jasowang, lingshan.zhu, mhocko, mst, namit,
	rdunlap, rientjes, tiwei.bie, tysand, wei.w.wang, xiao.w.wang,
	yuri.benditovich

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

  vdpa: move to drivers/vdpa (2020-04-02 10:41:40 -0400)

----------------------------------------------------------------
virtio: fixes, vdpa

Some bug fixes.
Balloon reverted to use the OOM handler again.
The new vdpa subsystem with two first drivers.

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

----------------------------------------------------------------
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 (2):
      tools/virtio: option to build an out of tree module
      vdpa: move to drivers/vdpa

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_balloon.c  | 107 ++---
 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 +-
 42 files changed, 4354 insertions(+), 314 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] vhost: fixes, vdpa
  2020-04-06 21:11 [GIT PULL] vhost: fixes, vdpa Michael S. Tsirkin
@ 2020-04-07  9:50 ` Michael S. Tsirkin
  2020-04-09  4:05 ` pr-tracker-bot
  2020-04-11 16:38 ` Linus Torvalds
  2 siblings, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2020-04-07  9:50 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: kvm, virtualization, netdev, linux-kernel, alexander.h.duyck,
	david, eperezma, jasowang, lingshan.zhu, mhocko, namit, rdunlap,
	rientjes, tiwei.bie, tysand, wei.w.wang, xiao.w.wang,
	yuri.benditovich

On Mon, Apr 06, 2020 at 05:11:28PM -0400, Michael S. Tsirkin wrote:
> 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 c9b9f5f8c0f3cdb893cb86c168cdaa3aa5ed7278:
> 
>   vdpa: move to drivers/vdpa (2020-04-02 10:41:40 -0400)
> 
> ----------------------------------------------------------------
> virtio: fixes, vdpa
> 
> Some bug fixes.
> Balloon reverted to use the OOM handler again.
> The new vdpa subsystem with two first drivers.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

OK this was conflicting with akpm tree, turns out Stephen
was reverting the OOM handler change since akpm tree has its own
variant.

So I pushed the revert in my tree to make it easier for you.
I'll send PULL v2 just to make things clear.


> ----------------------------------------------------------------
> 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 (2):
>       tools/virtio: option to build an out of tree module
>       vdpa: move to drivers/vdpa
> 
> 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_balloon.c  | 107 ++---
>  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 +-
>  42 files changed, 4354 insertions(+), 314 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] vhost: fixes, vdpa
  2020-04-06 21:11 [GIT PULL] vhost: fixes, vdpa Michael S. Tsirkin
  2020-04-07  9:50 ` Michael S. Tsirkin
@ 2020-04-09  4:05 ` pr-tracker-bot
  2020-04-11 16:38 ` Linus Torvalds
  2 siblings, 0 replies; 5+ messages in thread
From: pr-tracker-bot @ 2020-04-09  4:05 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Linus Torvalds, kvm, virtualization, netdev, linux-kernel,
	alexander.h.duyck, david, eperezma, jasowang, lingshan.zhu,
	mhocko, mst, namit, rdunlap, rientjes, tiwei.bie, tysand,
	wei.w.wang, xiao.w.wang, yuri.benditovich

The pull request you sent on Mon, 6 Apr 2020 17:11:24 -0400:

> https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/835a6a649d0dd1b1f46759eb60fff2f63ed253a7

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] vhost: fixes, vdpa
  2020-04-06 21:11 [GIT PULL] vhost: fixes, vdpa Michael S. Tsirkin
  2020-04-07  9:50 ` Michael S. Tsirkin
  2020-04-09  4:05 ` pr-tracker-bot
@ 2020-04-11 16:38 ` Linus Torvalds
  2020-04-12  8:37   ` Michael S. Tsirkin
  2 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2020-04-11 16:38 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: KVM list, virtualization, Netdev, Linux Kernel Mailing List,
	Alexander Duyck, David Hildenbrand, eperezma,
	Cc: stable@vger.kernel.org, david@redhat.com,
	dverkamp@chromium.org, hch@lst.de, jasowang@redhat.com,
	liang.z.li@intel.com, mst@redhat.com, tiny.windzz@gmail.com,,
	lingshan.zhu, Michal Hocko, Nadav Amit, Randy Dunlap,
	David Rientjes, tiwei.bie, tysand, Cc: stable@vger.kernel.org,
	david@redhat.com, dverkamp@chromium.org, hch@lst.de,
	jasowang@redhat.com, liang.z.li@intel.com, mst@redhat.com,
	tiny.windzz@gmail.com,,
	xiao.w.wang, yuri.benditovich

On Mon, Apr 6, 2020 at 2:11 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> The new vdpa subsystem with two first drivers.

So this one is really annoying to configure.

First it asks for vDPA driver for virtio devices (VIRTIO_VDPA) support.

If you say 'n', it then asks *again* for VDPA drivers (VDPA_MENU).

And then when you say 'n' to *that* it asks you for Vhost driver for
vDPA-based backend (VHOST_VDPA).

This kind of crazy needs to stop.

Doing kernel configuration is not supposed to be like some truly
horrendously boring Colossal Cave Adventure game where you have to
search for a way out of maze of twisty little passages, all alike.

                Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] vhost: fixes, vdpa
  2020-04-11 16:38 ` Linus Torvalds
@ 2020-04-12  8:37   ` Michael S. Tsirkin
  0 siblings, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2020-04-12  8:37 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: KVM list, virtualization, Netdev, Linux Kernel Mailing List,
	Alexander Duyck, David Hildenbrand, eperezma,
	Cc: stable@vger.kernel.org, david@redhat.com,
	dverkamp@chromium.org, hch@lst.de, jasowang@redhat.com,
	liang.z.li@intel.com, mst@redhat.com, tiny.windzz@gmail.com,,
	lingshan.zhu, Michal Hocko, Nadav Amit, Randy Dunlap,
	David Rientjes, tiwei.bie, tysand, Cc: stable@vger.kernel.org,
	david@redhat.com, dverkamp@chromium.org, hch@lst.de,
	jasowang@redhat.com, liang.z.li@intel.com, mst@redhat.com,
	tiny.windzz@gmail.com,,
	xiao.w.wang, yuri.benditovich

On Sat, Apr 11, 2020 at 09:38:05AM -0700, Linus Torvalds wrote:
> On Mon, Apr 6, 2020 at 2:11 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > The new vdpa subsystem with two first drivers.
> 
> So this one is really annoying to configure.
> 
> First it asks for vDPA driver for virtio devices (VIRTIO_VDPA) support.
> 
> If you say 'n', it then asks *again* for VDPA drivers (VDPA_MENU).
> 
> And then when you say 'n' to *that* it asks you for Vhost driver for
> vDPA-based backend (VHOST_VDPA).
> 
> This kind of crazy needs to stop.
> 
> Doing kernel configuration is not supposed to be like some truly
> horrendously boring Colossal Cave Adventure game where you have to
> search for a way out of maze of twisty little passages, all alike.
> 
>                 Linus

Hmm it's a good point.  Thanks, Linus!
I think this was copied from virtio which has drivers spread all over
the tree.

Jason, if VDPA_MENU is off, then we don't have any drivers. So what's
the point of selecting VDPA core from vhost/virtio then?

So how about this? Lightly tested. Jason, could you pls play with this
a bit more and let me know if you see any issues?

-->
vdpa: make vhost, virtio depend on menu

If user did not configure any vdpa drivers, neither vhost
nor virtio vdpa are going to be useful. So there's no point
in prompting for these and selecting vdpa core automatically.
Simplify configuration by making virtio and vhost vdpa
drivers depend on vdpa menu entry. Once done, we no longer
need a separate menu entry, so also get rid of this.
While at it, fix up the IFC entry: VDPA->vDPA for consistency
with other places.

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

---

diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
index cb6b17323eb2..3b43411361fe 100644
--- a/drivers/vhost/Kconfig
+++ b/drivers/vhost/Kconfig
@@ -64,7 +64,7 @@ config VHOST_VDPA
 	tristate "Vhost driver for vDPA-based backend"
 	depends on EVENTFD
 	select VHOST
-	select VDPA
+	depends on VDPA_MENU
 	help
 	  This kernel module can be loaded in host kernel to accelerate
 	  guest virtio devices with the vDPA-based backends.
diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
index 2aadf398d8cc..bf13755a5ba5 100644
--- a/drivers/virtio/Kconfig
+++ b/drivers/virtio/Kconfig
@@ -45,7 +45,7 @@ config VIRTIO_PCI_LEGACY
 
 config VIRTIO_VDPA
 	tristate "vDPA driver for virtio devices"
-	select VDPA
+	depend on VDPA_MENU
 	select VIRTIO
 	help
 	  This driver provides support for virtio based paravirtual


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-12  8:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-06 21:11 [GIT PULL] vhost: fixes, vdpa Michael S. Tsirkin
2020-04-07  9:50 ` Michael S. Tsirkin
2020-04-09  4:05 ` pr-tracker-bot
2020-04-11 16:38 ` Linus Torvalds
2020-04-12  8:37   ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).