Re: [PATCH V9 1/9] vhost: refine vhost and vringh kconfig

From: Michael S. Tsirkin
Date: Thu Apr 02 2020 - 10:38:56 EST


On Thu, Apr 02, 2020 at 10:23:59PM +0800, Jason Wang wrote:
>
> On 2020/4/2 äå10:03, Michael S. Tsirkin wrote:
> > On Thu, Apr 02, 2020 at 11:22:57AM +0800, Jason Wang wrote:
> > > On 2020/4/2 äå12:08, Michael S. Tsirkin wrote:
> > > > On Wed, Apr 01, 2020 at 10:29:32PM +0800, Jason Wang wrote:
> > > > > >From 9b3a5d23b8bf6b0a11e65e688335d782f8e6aa5c Mon Sep 17 00:00:00 2001
> > > > > From: Jason Wang <jasowang@xxxxxxxxxx>
> > > > > Date: Wed, 1 Apr 2020 22:17:27 +0800
> > > > > Subject: [PATCH] vhost: let CONFIG_VHOST to be selected by drivers
> > > > >
> > > > > The defconfig on some archs enable vhost_net or vhost_vsock by
> > > > > default. So instead of adding CONFIG_VHOST=m to all of those files,
> > > > > simply letting CONFIG_VHOST to be selected by all of the vhost
> > > > > drivers. This fixes the build on the archs with CONFIG_VHOST_NET=m in
> > > > > their defconfig.
> > > > >
> > > > > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> > > > > ---
> > > > > drivers/vhost/Kconfig | 15 +++++++++++----
> > > > > 1 file changed, 11 insertions(+), 4 deletions(-)
> > > > >
> > > > > diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> > > > > index 2523a1d4290a..362b832f5338 100644
> > > > > --- a/drivers/vhost/Kconfig
> > > > > +++ b/drivers/vhost/Kconfig
> > > > > @@ -11,19 +11,23 @@ config VHOST_RING
> > > > > This option is selected by any driver which needs to access
> > > > > the host side of a virtio ring.
> > > > > -menuconfig VHOST
> > > > > - tristate "Host kernel accelerator for virtio (VHOST)"
> > > > > - depends on EVENTFD
> > > > > +config VHOST
> > > > > + tristate
> > > > > select VHOST_IOTLB
> > > > > help
> > > > > This option is selected by any driver which needs to access
> > > > > the core of vhost.
> > > > > -if VHOST
> > > > > +menuconfig VHOST_MENU
> > > > > + bool "VHOST drivers"
> > > > > + default y
> > > > > +
> > > > > +if VHOST_MENU
> > > > > config VHOST_NET
> > > > > tristate "Host kernel accelerator for virtio net"
> > > > > depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
> > > > > + select VHOST
> > > > > ---help---
> > > > > This kernel module can be loaded in host kernel to accelerate
> > > > > guest networking with virtio_net. Not to be confused with virtio_net
> > > > > @@ -35,6 +39,7 @@ config VHOST_NET
> > > > > config VHOST_SCSI
> > > > > tristate "VHOST_SCSI TCM fabric driver"
> > > > > depends on TARGET_CORE && EVENTFD
> > > > > + select VHOST
> > > > > default n
> > > > > ---help---
> > > > > Say M here to enable the vhost_scsi TCM fabric module
> > > > > @@ -43,6 +48,7 @@ config VHOST_SCSI
> > > > > config VHOST_VSOCK
> > > > > tristate "vhost virtio-vsock driver"
> > > > > depends on VSOCKETS && EVENTFD
> > > > > + select VHOST
> > > > > select VIRTIO_VSOCKETS_COMMON
> > > > > default n
> > > > > ---help---
> > > > > @@ -56,6 +62,7 @@ config VHOST_VSOCK
> > > > > config VHOST_VDPA
> > > > > tristate "Vhost driver for vDPA-based backend"
> > > > > depends on EVENTFD
> > > > > + select VHOST
> > >
> > > This part is not squashed.
> > >
> > >
> > > > > select VDPA
> > > > > help
> > > > > This kernel module can be loaded in host kernel to accelerate
> > > > OK so I squashed this into the original buggy patch.
> > > > Could you please play with vhost branch of my tree on various
> > > > arches? If it looks ok to you let me know I'll push
> > > > this to next.
> > >
> > > With the above part squashed. I've tested all the archs whose defconfig have
> > > VHOST_NET or VHOST_VSOCK enabled.
> > >
> > > All looks fine.
> > >
> > > Thanks
> >
> > I'm a bit confused. So is the next tag in my tree ok now?
>
>
> Still need to select CONFIG_VHOST for CONFIG_VHOST_VDPA. Others are ok.
>
> Thanks


Oh like this then?

diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
index bdd270fede26..cb6b17323eb2 100644
--- a/drivers/vhost/Kconfig
+++ b/drivers/vhost/Kconfig
@@ -61,6 +63,7 @@ config VHOST_VSOCK
config VHOST_VDPA
tristate "Vhost driver for vDPA-based backend"
depends on EVENTFD
+ select VHOST
select VDPA
help
This kernel module can be loaded in host kernel to accelerate