Re: vhost: refine vhost and vringh kconfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jason,

On Fri, Apr 10, 2020 at 10:33 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
> On 2020/4/10 下午3:53, Geert Uytterhoeven wrote:
> > On Thu, Apr 9, 2020 at 6:04 AM Linux Kernel Mailing List
> > <linux-kernel@xxxxxxxxxxxxxxx> wrote:
> >> Commit:     20c384f1ea1a0bc7320bc445c72dd02d2970d594
> >> Parent:     5a6b4cc5b7a1892a8d7f63d6cbac6e0ae2a9d031
> >> Refname:    refs/heads/master
> >> Web:        https://git.kernel.org/torvalds/c/20c384f1ea1a0bc7320bc445c72dd02d2970d594
> >> Author:     Jason Wang <jasowang@xxxxxxxxxx>
> >> AuthorDate: Thu Mar 26 22:01:17 2020 +0800
> >> Committer:  Michael S. Tsirkin <mst@xxxxxxxxxx>
> >> CommitDate: Wed Apr 1 12:06:26 2020 -0400
> >>
> >>      vhost: refine vhost and vringh kconfig
> >>
> >>      Currently, CONFIG_VHOST depends on CONFIG_VIRTUALIZATION. But vhost is
> >>      not necessarily for VM since it's a generic userspace and kernel
> >>      communication protocol. Such dependency may prevent archs without
> >>      virtualization support from using vhost.
> >>
> >>      To solve this, a dedicated vhost menu is created under drivers so
> >>      CONIFG_VHOST can be decoupled out of CONFIG_VIRTUALIZATION.
> >>
> >>      While at it, also squash Kconfig.vringh into vhost Kconfig file. This
> >>      avoids the trick of conditional inclusion from VOP or CAIF. Then it
> >>      will be easier to introduce new vringh users and common dependency for
> >>      both vringh and vhost.
> >>
> >>      Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> >>      Link: https://lore.kernel.org/r/20200326140125.19794-2-jasowang@xxxxxxxxxx
> >>      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> >> ---
> >>   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              |  2 ++
> >>   drivers/misc/mic/Kconfig     |  4 ----
> >>   drivers/net/caif/Kconfig     |  4 ----
> >>   drivers/vhost/Kconfig        | 28 +++++++++++++++++++++-------
> >>   drivers/vhost/Kconfig.vringh |  6 ------
> >>   11 files changed, 23 insertions(+), 37 deletions(-)
> >> --- a/drivers/vhost/Kconfig
> >> +++ b/drivers/vhost/Kconfig
> >> @@ -1,4 +1,23 @@
> >>   # SPDX-License-Identifier: GPL-2.0-only
> >> +config VHOST_RING
> >> +       tristate
> >> +       help
> >> +         This option is selected by any driver which needs to access
> >> +         the host side of a virtio ring.
> >> +
> >> +config VHOST
> >> +       tristate
> >> +       select VHOST_IOTLB
> >> +       help
> >> +         This option is selected by any driver which needs to access
> >> +         the core of vhost.
> >> +
> >> +menuconfig VHOST_MENU
> >> +       bool "VHOST drivers"
> >> +       default y
> > Please do not use default y. Your subsystem is not special.
>
>
> This is because before this patch VHOST depends on VIRTUALIZATION. So
> the archs whose defconfig that has VIRTUALIZATION can just enable e.g
> VHOST_NET without caring about VHOST_MENU.
>
> If this is not preferable, we can:
>
> 1) modify the defconfig and enable VHOST_MENU there
> 2) switch to use default y if $(all_archs_that_has_VIRTUALIZATION)

I think updating the few (1) defconfigs is preferable.
Else you put the burden on the maintainers of all the other (+400)
defconfigs, which will have to add "CONFIG_VHOST_MENU is not set".

> > I think this deserves a help text, so users know if they want to enable this
> > option or not.
>
> Will add one.

Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux