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

Reply via email to