** Description changed: + [ Impact ] + + Improve how s390 kernel discovers and organizes PCI devices, making it + more robust, predictable, and compatible with modern hardware and + virtualization scenarios. + + Previously, PCI functions were grouped based on firmware-provided order + and physical channel IDs (PCHIDs), leading to unstable device numbering + and incorrect grouping in complex setups. + + The new implementation explicitly sorts PCI functions by Requester ID + (RID) and uses Topology IDs (TIDs) to group multi-function devices, + ensuring deterministic and future-proof bus/domain creation. It fixes + SR-IOV behavior by properly grouping Physical Functions (PFs) and + Virtual Functions (VFs), allowing PFs initially in standby to form + shared domains and treating isolated VFs without a parent PF as + standalone devices. + + Parent PF detection has been refactored for consistency, and error + handling has been improved to prevent leaks and crashes when adding + devices dynamically. + + [ Fix ] + + Backport to Jammy the following commits: + 52c79e636a58da s390/pci: make better use of zpci_dbg() levels + 0467cdde8c4320 s390/pci: Sort PCI functions prior to creating virtual busses + 126034faaac5f3 s390/pci: Use topology ID for multi-function devices + fd1ae23b495b3a PCI: Prefer 'unsigned int' over bare 'unsigned' + c3df83e01a96ca PCI: Clean up pci_scan_slot() + fbed59ed8781d7 PCI: Split out next_ari_fn() from next_fn() + db360b1ea7faef PCI: Move jailhouse's isolated function handling to pci_scan_slot() + 189c6c33ff421d PCI: Extend isolated function probing to s390 + 960ac362648780 s390/pci: allow zPCI zbus without a function zero + 45e5f0c017e0d0 s390/pci: clean up left over special treatment for function zero + 25f39d3dcb48bb s390/pci: Ignore RID for isolated VFs + 48796104c864cf s390/pci: Fix leak of struct zpci_dev when zpci_add_device() fails + dc287e4c9149ab s390/pci: Fix SR-IOV for PFs initially in standby + 05793884a1f305 s390/pci: Pull search for parent PF out of zpci_iov_setup_virtfn() + 2844ddbd540fc8 s390/pci: Fix handling of isolated VFs + 8691abd3afaadd s390/pci: Fix zpci_bus_is_isolated_vf() for non-VFs + 42420c50c68f3e s390/pci: Fix missing check for zpci_create_device() error return + + [ Test Case ] + + Testing must be performed on an IBM z17 with Network Express adapters in + direct mode. + + Begin by attaching at least one adapter with two PFs, each mapped to a + separate port, and confirm that the kernel groups them correctly into + distinct domains without relying on PCHID ordering. + + Next, enable SR-IOV on each PF and verify that child VFs are discovered, + grouped with the correct PFs, and functional. Test with PFs initially in + standby to ensure that shared domains are created dynamically. Introduce + isolated VFs without a visible PF and confirm they enumerate as + standalone devices. + + Finally, perform hotplug and removal of both PFs and VFs, checking that + zpci_dev structures are cleaned up correctly without leaks or crashes. + + [ Regression Potential ] + + The patchset affects s390 PCI subsystem, in particular: + - device enumeration + - function grouping + - SR-IOV handling + An issue in this code may introduce problems such as incorrect grouping of PFs and VFs, unstable bus numbering, or failure to associate VFs with their parent PFs. + + [ Other Info ] + + The patchset has already been tested by IBM using the following PPA: + - https://launchpad.net/~mpellizzer/+archive/ubuntu/ibm-z + + --- + Description: PCHID per port toleration is required by the new IBM z17 machine. - This has already been included in Ubuntu 25.04 + This has already been included in Ubuntu 25.04 (see LP#2095480 : PCHID per Port Toleration). This toleration item is also needed in Noble and Jammy in order to support new hardware in both LTS releases.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2119650 Title: [UBUNTU 22.04] PCHID per Port Toleration - IBM z17 Enablement To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/2119650/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
