Re: [PATCH v4 4/4] vfio: pci: Using a device region to retrieve zPCI information

From: Matthew Rosato
Date: Fri Sep 20 2019 - 11:53:58 EST


On 9/20/19 10:26 AM, Cornelia Huck wrote:
> On Thu, 19 Sep 2019 16:57:10 -0400
> Matthew Rosato <mjrosato@xxxxxxxxxxxxx> wrote:
>
>> On 9/19/19 11:25 AM, Cornelia Huck wrote:
>>> On Fri, 6 Sep 2019 20:13:51 -0400
>>> Matthew Rosato <mjrosato@xxxxxxxxxxxxx> wrote:
>>>
>>>> From: Pierre Morel <pmorel@xxxxxxxxxxxxx>
>>>>
>>>> We define a new configuration entry for VFIO/PCI, VFIO_PCI_ZDEV
>>>>
>>>> When the VFIO_PCI_ZDEV feature is configured we initialize
>>>> a new device region, VFIO_REGION_SUBTYPE_ZDEV_CLP, to hold
>>>> the information from the ZPCI device the use
>>>>
>>>> Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
>>>> Signed-off-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxx>
>>>> ---
>>>> drivers/vfio/pci/Kconfig | 7 +++
>>>> drivers/vfio/pci/Makefile | 1 +
>>>> drivers/vfio/pci/vfio_pci.c | 9 ++++
>>>> drivers/vfio/pci/vfio_pci_private.h | 10 +++++
>>>> drivers/vfio/pci/vfio_pci_zdev.c | 85 +++++++++++++++++++++++++++++++++++++
>>>> 5 files changed, 112 insertions(+)
>>>> create mode 100644 drivers/vfio/pci/vfio_pci_zdev.c
>>>>
>>>> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
>>>> index ac3c1dd..d4562a8 100644
>>>> --- a/drivers/vfio/pci/Kconfig
>>>> +++ b/drivers/vfio/pci/Kconfig
>>>> @@ -45,3 +45,10 @@ config VFIO_PCI_NVLINK2
>>>> depends on VFIO_PCI && PPC_POWERNV
>>>> help
>>>> VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs
>>>> +
>>>> +config VFIO_PCI_ZDEV
>>>> + bool "VFIO PCI Generic for ZPCI devices"
>>>> + depends on VFIO_PCI && S390
>>>> + default y
>>>> + help
>>>> + VFIO PCI support for S390 Z-PCI devices
>>>
>>> >From that description, I'd have no idea whether I'd want that or not.
>>> Is there any downside to enabling it?
>>>
>>
>> :) Not really, you're just getting information from the hardware vs
>> using hard-coded defaults. The only reason I could think of to turn it
>> off would be if you wanted/needed to restore this hard-coded behavior.
>
> I'm not really sure whether that's worth adding a Kconfig switch for.
> Won't older versions simply ignore the new region anyway?
>

Yes, you have a point here... This switch showed up in v3 of this
series when Pierre changed to using a region to pass this info and I
haven't yet found a 'why' he decided to add the Kconfig switch. If I
can't convince myself of a reason to keep it, I'll just remove it from
the next version.

> Also, I don't think we have any migration compatibility issues, as
> vfio-pci devices are not (yet) migrateable anyway.
>
>>
>> bool "VFIO PCI support for generic ZPCI devices" ?
>
> "Support zPCI-specific configuration for VFIO PCI" ?
>
>>
>> "Support for sharing ZPCI hardware device information between the host
>> and guests." ?
>
> "Enabling this options exposes a region containing hardware
> configuration for zPCI devices. This enables userspace (e.g. QEMU) to
> supply proper configuration values instead of hard-coded defaults for
> zPCI devices passed through via VFIO on s390.
>
> Say Y here."
>
> ?
>

Your descriptions are much better - thanks for the feedback!