PCI: Add sysfs sriov_drivers_autoprobe to control VF driver binding
Sometimes it is not desirable to bind SR-IOV VFs to drivers. This can save host side resource usage by VF instances that will be assigned to VMs. Add a new PCI sysfs interface "sriov_drivers_autoprobe" to control that from the PF. To modify it, echo 0/n/N (disable probe) or 1/y/Y (enable probe) to: /sys/bus/pci/devices/<DOMAIN:BUS:DEVICE.FUNCTION>/sriov_drivers_autoprobe Note that this must be done before enabling VFs. The change will not take effect if VFs are already enabled. Simply, one can disable VFs by setting sriov_numvfs to 0, choose whether to probe or not, and then re-enable the VFs by restoring sriov_numvfs. [bhelgaas: changelog, ABI doc] Signed-off-by: Bodong Wang <bodong@mellanox.com> Signed-off-by: Eli Cohen <eli@mellanox.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:

committed by
Bjorn Helgaas

parent
f65fd1aa4f
commit
0e7df22401
@@ -301,3 +301,25 @@ Contact: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
Description:
|
||||
This file contains the revision field of the the PCI device.
|
||||
The value comes from device config space. The file is read only.
|
||||
|
||||
What: /sys/bus/pci/devices/.../sriov_drivers_autoprobe
|
||||
Date: April 2017
|
||||
Contact: Bodong Wang<bodong@mellanox.com>
|
||||
Description:
|
||||
This file is associated with the PF of a device that
|
||||
supports SR-IOV. It determines whether newly-enabled VFs
|
||||
are immediately bound to a driver. It initially contains
|
||||
1, which means the kernel automatically binds VFs to a
|
||||
compatible driver immediately after they are enabled. If
|
||||
an application writes 0 to the file before enabling VFs,
|
||||
the kernel will not bind VFs to a driver.
|
||||
|
||||
A typical use case is to write 0 to this file, then enable
|
||||
VFs, then assign the newly-created VFs to virtual machines.
|
||||
Note that changing this file does not affect already-
|
||||
enabled VFs. In this scenario, the user must first disable
|
||||
the VFs, write 0 to sriov_drivers_autoprobe, then re-enable
|
||||
the VFs.
|
||||
|
||||
This is similar to /sys/bus/pci/drivers_autoprobe, but
|
||||
affects only the VFs associated with a specific PF.
|
||||
|
Reference in New Issue
Block a user