APPLIED[M/L]: [SRU][U/N][M][L][PATCH v2 0/1] Kernel config option missing for s390x PCI passthrough (LP: 2042853)
Stefan Bader
stefan.bader at canonical.com
Thu Nov 30 16:39:47 UTC 2023
On 21.11.23 13:54, 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 enablement of the kernel config option is the same for L, M and U/N,
> but I submitted separate patches due to slightly different contexts.
>
> * v2: - renamed patch to kernel option name
> - toggled existing option from n to y
> - reworked patch description
>
> Frank Heimes (1):
> UBUNTU: [Config] CONFIG_VFIO_PCI_ZDEV_KVM=y
>
> debian.master/config/annotations | 3 +++
> 1 file changed, 3 insertions(+)
>
Applied to mantic,lunar:linux/master-next. Thanks.
-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/20231130/22b06e86/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/20231130/22b06e86/attachment-0001.sig>
More information about the kernel-team
mailing list