NAK[G]: [SRU][F][G][PATCH 0/3] zPCI attach/detach issues with PF/VF linking support (LP: 1892849)
Seth Forshee
seth.forshee at canonical.com
Mon Sep 21 19:54:59 UTC 2020
On Wed, Aug 26, 2020 at 02:22:27PM +0200, frank.heimes at canonical.com wrote:
> Buglink: https://bugs.launchpad.net/bugs/1892849
>
> SRU Justification:
>
> [Impact]
>
> * There is a zPCI attach/detach issue in combination with PF/VF linking support.
>
> * On IBM Z with zPCI, VFs can be enabled/disabled individually with /sys/bus/pci/slots/<vf_fid>/power.
>
> * If this was done with a VF that is linked to a parent PF, the PF symlink would become stale while the VF is disabled and
> when turned back to the VF, it would not be properly linked back to the PF.
>
> * The PF link is removed together with the whole VF directory.
>
> * Hence for example qemu cannot be used since it relies on such links.
>
> * Additionally there is a missing pci_dev_put() when searching for the parent PF. This potentially results in a reference count of the parent PFs that is becoming too high.
>
> [Fix]
>
> * 3cddb79afc60bcdb5fd9dd7a1c64a8d03bdd460f 3cddb79afc60 "s390/pci: fix zpci_bus_link_virtfn()"
>
> * 2f0230b2f2d5fd287a85583eefb5aed35b6fe510 2f0230b2f2d5 "390/pci: re-introduce zpci_remove_device()"
>
> * b97bf44f99155e57088e16974afb1f2d7b5287aa b97bf44f9915 "s390/pci: fix PF/VF linking on hot plug"
>
> [Test Case]
>
> * Assign a zPCI device, that is capable of handling PFs/VFs (like a RoCE adapter / Connect-X5) to a z15 or LinuxONE III LPAR (usually using the HMC).
>
> * Enable/disable a VF with /sys/bus/pci/slots/<vf_fid>/power
>
> * Try to pass it through to qemu.
>
> * The test needs to be done at IBM due to the special hardware requirements.
>
> [Regression Potential]
>
> * A larger subset of the zPCI files in arch/s390/pci is touched (pci_bus.{h,c}, pci_bus.c, pci.c, s390_pci_hpc.c and pci_event.c), hence there is a certain risk for regressions.
>
> * zPCI is the s390x-specific PCI implementation and (aot) less wide spread compared to the traditional CCW hardware on s390x - no code is touched outside of arch/s390/.
>
> * The modifications are mainly in the IOV and hotplug area of zPCI.
>
> * So SR-IOV, like RoCE adapters, may be harmed by bugs or issues with hot-plugging PCI hardware on s390x.
>
> * But on the other hand side that is the area where these patches fix existing problems.
>
> * In worst case PCI events can be impacted as well, that may harm control and communication
>
> * or changes in base pci_bus/pci code may even break zPCI entirely.
>
> * Right now regular RoCE adapters (like Connect-X5) are currently not handled as real SR-IOV VFs in zPCI, but are treated as normal PCI devices.
>
> * Hence these zPCI SR-IOV setup changes currently apply to PFs with SR-IOV capability only, and those are currently not yet available to customers outside IBM.
>
> * The modifications were tested at IBM in house and a patched Ubuntu kernel was created and shared for further testing and got successfully verified (LP 1892849, comment #3).
>
> [Other]
>
> * This SRU depends on the SRU submitted for LP 1891437, which got already ACKed. So LP 1891437 is a prerequisite and needs to be applied before this one!
>
> * The patches of the depending SRU and the ones here were successfully tested based on a patched Ubuntu test kernel (LP 1892849, comment #3).
>
> * Since the above three patches got upstream accepted with 5.9-rc2, this SRU request is for Focal and Groovy.
I didn't see any note about this, so thought I would close the loop. We
got these patches for groovy already from upstream stable updates, so
they are not needed there.
Thanks,
Seth
More information about the kernel-team
mailing list