On Fri, 30 Mar 2018 04:49:05 -0700, Christoph Hellwig wrote: > On Thu, Mar 29, 2018 at 11:22:31AM -0700, Jakub Kicinski wrote: > > Some user space depends on driver allowing sriov_totalvfs to be > > enabled. > > I can't make sene of this sentence. Can you explain what user space > code depends on what semantics? The sriov_totalvfs file should show > up for any device supporting SR-IOV as far as I can tell. Ugh, I took me a while to understand what I meant myself... So what I meant is that this should generally work: # cat .../sriov_totalvfs > .../sriov_numvfs I.e. one should be able to "enable" the number of VFs advertised in sriov_totalvfs. I will rephrase! > > For devices which VF support depends on loaded FW we > > have the pci_sriov_{g,s}et_totalvfs() API. However, this API > > uses 0 as a special "unset" value, meaning drivers can't limit > > sriov_totalvfs to 0. Change the special value to be U16_MAX. > > Use simple min() to determine actual totalvfs. > > Please use a PCI_MAX_VFS or similar define instead of plain U16_MAX or ~0. I think I may just go with what I think Alex is suggesting and "unset" the value to total_VFs.