NACK: [SRU][U/N][M][L][PATCH 0/1] Kernel config option missing for s390x PCI passthrough (LP: 2042853)

Stefan Bader stefan.bader at canonical.com
Tue Nov 21 12:33:22 UTC 2023


On 17.11.23 16:28, frank.heimes at canonical.com wrote:
> BugLink: https://bugs.launchpad.net/bugs/2042853
> 
> SRU Justification:
> 
> [Impact]
> 
>   * Today no s390x-specific vfio-pci devices (zPCI) can be passed
>     from a KVM host to a KVM guest (incl. secure execution guests
>     in the context of confidential computing).
> 
>   * s390x PCI passthrough needs various changes in the s390x kernel zPCI
>     code (incl. the new s390x-specific Kernel config option
>     'CONFIG_VFIO_PCI_ZDEV_KVM') that were introduced with kernel 6.0
>     and got backported to 22.04/jammy as part of LP: #1853306.
> 
>   * Lunar an newer Ubuntu releases have the code already included from
>     upstream (incl. the Kernel option 'CONFIG_VFIO_PCI_ZDEV_KVM'), but the
>     config option is not set, hence zPCI pass-through is still not possible.
> 
> [Fix]
> 
>   * To be able to make use of VFIO zPCI pass-through on s390x running newer
>     Ubuntu releases (especially needed in the context of secure execution)
>     the (s390x-specific) Kernel config option 'CONFIG_VFIO_PCI_ZDEV_KVM' needs
>     to be enabled and set to 'y'.
> 
> [Test Case]
> 
>   * Hardware used: z14 or greater LPAR, PCI-attached devices
>     (RoCE VFs, ISM devices, NVMe drive)
> 
>   * Setup: Both the kernel and QEMU features are needed for the feature
>     to function (an upstream QEMU can be used to verify the kernel early),
>     and the facility is only available on z14 or newer.
>     When any of those pieces is missing,
>     the interpretation facility will not be used.
>     When both the kernel and QEMU features are included in their respective
>     packages, and running in an LPAR on a z14 or newer machine,
>     this feature will be enabled automatically.
>     Existing supported devices should behave as before with no changes
>     required by an end-user (e.g. no changes to libvirt domain definitions)
>     -- but will now make use of the interpretation facility.
>     Additionally, ISM devices will now be eligible for vfio-pci passthrough
>     (where before QEMU would exit on error if attempting to provide an ISM
>     device for vfio-pci passthrough, preventing the guest from starting)
> 
>   * Testing will include the following scenarios, repeated each for RoCE,
>     ISM and NVMe:
> 
>     1) Testing of basic device passthrough (create a VM with a vfio-pci
>        device as part of the libvirt domain definition, passing through
>        a RoCE VF, an ISM device, or an NVMe drive. Verify that the device
>        is available in the guest and functioning)
>     2) Testing of device hotplug/unplug (create a VM with a vfio-pci device,
>        virsh detach-device to remove the device from the running guest,
>        verify the device is removed from the guest, then virsh attach-device
>        to hotplug the device to the guest again, verify the device functions
>        in the guest)
>     3) Host power off testing: Power off the device from the host, verify
>        that the device is unplugged from the guest as part of the poweroff
>     4) Guest power off testing: Power off the device from within the guest,
>        verify that the device is unusable in the guest,
>        power the device back on within the guest and verify that the device
>        is once again usable.
>     5) Guest reboot testing: (create a VM with a vfio-pci device,
>        verify the device is in working condition, reboot the guest,
>        verify that the device is still usable after reboot)
> 
> [Regression Potential]
> 
>   * The regression potential is moderate, since the code is upstream
>     for quite a while and already enabled in jammy.
> 
>   * The general way on using passthrough has not changed, with this
>     change (config option) it's now just possible to passthrough
>     zPCI on top.
> 
>   * CCW devices are not affected.
> 
>   * And this is s390x-specific anyway, so no other architectures are affected.
> 
> [Other]
> 
>   * The enabling of the kernel config option is exactly the same for L, M
>     and U/N, but I submitted separate patches due to slightly different context
>     and offsets.
> 
> Frank Heimes (1):
>    UBUNTU: [Config] enable VFIO zPCI pass-through for s390x
> 
>   debian.master/config/annotations | 3 +++
>   1 file changed, 3 insertions(+)
> 

There should be a v2 coming...
-- 
- Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 44613 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20231121/de938039/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20231121/de938039/attachment-0001.sig>


More information about the kernel-team mailing list