Cmnt: [SRU][U/N][M][L][PATCH 0/1] Kernel config option missing for s390x PCI passthrough (LP: 2042853)
Frank Heimes
frank.heimes at canonical.com
Tue Nov 21 12:59:43 UTC 2023
Please reject this upload, since a version 2 was sent:
https://lists.ubuntu.com/archives/kernel-team/2023-November/thread.html#147088
On Tue, Nov 21, 2023 at 12:36 PM Frank Heimes <frank.heimes at canonical.com>
wrote:
> Okay, I see and agree. Thx for the feedback.
>
> Will provide a v2 soon ...
>
>
> On Tue, Nov 21, 2023 at 9:38 AM Stefan Bader <stefan.bader at canonical.com>
> wrote:
>
>> 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(+)
>> >
>> I probably would rather reject for the following reasons:
>> * The config option already exists at least in the M/L annotations
>> * Those should be modified instead of adding duplicate entries
>> * I would expect that if this patch is applied and updateconfigs is run
>> then
>> lines will get moved around.
>> I would rather avoid this when starting to prep a kernel. So please
>> double check and in case this happens submit a new set.
>>
>> Thanks,
>> -Stefan
>> --
>> - Stefan
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20231121/a35e5371/attachment-0001.html>
More information about the kernel-team
mailing list