Re: [RFC 05/19] s390/zcrypt: base implementation of AP matrix device driver

Cornelia Huck
2017-11-16T12:35:31Z

On Thu, 16 Nov 2017 13:02:26 +0100
Pierre Morel <pmorel@linux.vnet.ibm.com> wrote:

> On 14/11/2017 17:37, Tony Krowiak wrote:
> > On 11/14/2017 07:40 AM, Cornelia Huck wrote:
> >> On Fri, 13 Oct 2017 13:38:50 -0400
> >> Tony Krowiak <akrowiak@linux.vnet.ibm.com> wrote:

> >>> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> >>> index 48af970..411c19a 100644
> >>> --- a/arch/s390/Kconfig
> >>> +++ b/arch/s390/Kconfig
> >>> @@ -722,6 +722,19 @@ config VFIO_CCW
> >>>         To compile this driver as a module, choose M here: the
> >>>         module will be called vfio_ccw.
> >>> +config VFIO_AP_MATRIX
> >>> +    def_tristate m
> >>> +    prompt "Support for Adjunct Processor Matrix device interface"
> >>> +    depends on ZCRYPT
> >>> +    select VFIO
> >>> +    select MDEV
> >>> +    select VFIO_MDEV
> >>> +    select VFIO_MDEV_DEVICE
> >>> +    select IOMMU_API
> >> I think the more common pattern is to depend on the VFIO configs
> >> instead of selecting them.
> > It's ironic because I originally changed from using 'depends on' and
> > changed it based on review comments made
> > on our internal mailing list. I'll go with 'depends on'.
>
> Is doing like the others a sufficient good reason?
> What if the first who did this did not really think about it?
>
> When an administrator configure the kernel what does he think?
>
> - I want to have AP through AP_VFIO in my guests
> and he get implicitly VFIO
> or
> - I want to have VFIO
> and he has to explicitly add AP_VFIO too
>
> It seems to me that the first is much more user friendly.
>
> Please tell me if I missed something. dependencies? collateral damages?
> my logic is wrong?

Using select for anything that's not a simple infrastructure dependency
may lead into trouble (we've had issues in the past where options tried
to enable other options but missed dependencies).

If a user wants to use vfio-ap, I think it is reasonable to expect them
to figure out that they need both ap and vfio for that.

[And config help has gotten much better than it was years ago; it's not
that hard to figure out what is actually needed.]