The content of comment #2 was copied over as bug description. The patch set in preparation is:
[RFC 0/2] Enable PF-VF linking with pdev->no_vf_scan (s390) https://lore.kernel.org/linux-pci/20200506154139.90609-1-schne...@linux.ibm.com/ [RFC 1/2] PCI/IOV: Introduce pci_iov_sysfs_link() function https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ [RFC 2/2] s390/pci: create links between PFs and VFs https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ As already mentioned, target to upstream acceptance is kernel 5.8. ** Description changed: - Description will follow + As with other architectures, we must be able on s390x to verify the + following relationships between PFs and VFs for proper management + (including by libvirt) of network interfaces: + + 1. Determine if a device is a virtual function: for other architectures this is currently available in the file `physfn` which is a link to the parent PF's device. + 2. Determine virtual functions of a physical function: for other architectures this is currently available as `virtfn{index}` links under the PF device's directory. + 3. Determine the physical function of a virtual function: on x86 this is currently available in the file `physfn` which is a link to the parent PF + + More details for the already existing parameters mentioned above can be + found here: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs- + bus-pci + + Moreover creating not just the sysfs but also the in-kernel link + (struct pci_dev->physfn) also allows us to use the common code path + for disabling/shutdown of PFs. + This code path is currently fenced off by the + struct pci_dev->no_vf_scan flag of which s390 is currently the only user. + + This in turn allows for a graceful and orderly shutdown of VFs + associated with a VF as triggered by: + + echo 0 > /sys/bus/pci/devices/<some_pf>/sriov_numvfs + + Previously this could leave the card in an unresponsive error state. + + The patches for this have been discussed and Acked-by the + responsible upstream maintainer here: + + [RFC 0/2] Enable PF-VF linking with pdev->no_vf_scan (s390) + https://lore.kernel.org/linux-pci/20200506154139.90609-1-schne...@linux.ibm.com/ + + [RFC 1/2] PCI/IOV: Introduce pci_iov_sysfs_link() function + https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ + + [RFC 2/2] s390/pci: create links between PFs and VFs + https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ + + They are currently queued to be posted to the public s390 Kernel + repository and linux-next / 5.8. + These depend on the previous multi-function/enumeration rework. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1879704 Title: [UBUNTU 20.04] s390x/pci: implement linking between PF and VF for multifunction devices Status in Ubuntu on IBM z Systems: Incomplete Status in linux package in Ubuntu: Incomplete Bug description: As with other architectures, we must be able on s390x to verify the following relationships between PFs and VFs for proper management (including by libvirt) of network interfaces: 1. Determine if a device is a virtual function: for other architectures this is currently available in the file `physfn` which is a link to the parent PF's device. 2. Determine virtual functions of a physical function: for other architectures this is currently available as `virtfn{index}` links under the PF device's directory. 3. Determine the physical function of a virtual function: on x86 this is currently available in the file `physfn` which is a link to the parent PF More details for the already existing parameters mentioned above can be found here: https://www.kernel.org/doc/Documentation/ABI/testing /sysfs-bus-pci Moreover creating not just the sysfs but also the in-kernel link (struct pci_dev->physfn) also allows us to use the common code path for disabling/shutdown of PFs. This code path is currently fenced off by the struct pci_dev->no_vf_scan flag of which s390 is currently the only user. This in turn allows for a graceful and orderly shutdown of VFs associated with a VF as triggered by: echo 0 > /sys/bus/pci/devices/<some_pf>/sriov_numvfs Previously this could leave the card in an unresponsive error state. The patches for this have been discussed and Acked-by the responsible upstream maintainer here: [RFC 0/2] Enable PF-VF linking with pdev->no_vf_scan (s390) https://lore.kernel.org/linux-pci/20200506154139.90609-1-schne...@linux.ibm.com/ [RFC 1/2] PCI/IOV: Introduce pci_iov_sysfs_link() function https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ [RFC 2/2] s390/pci: create links between PFs and VFs https://lore.kernel.org/linux-pci/20200506154139.90609-2-schne...@linux.ibm.com/ They are currently queued to be posted to the public s390 Kernel repository and linux-next / 5.8. These depend on the previous multi-function/enumeration rework. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1879704/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp