On Wed, Feb 24, 2021 at 11:53:30AM +0200, Leon Romanovsky wrote: > On Tue, Feb 23, 2021 at 03:07:43PM -0600, Bjorn Helgaas wrote: > > On Sun, Feb 21, 2021 at 08:59:18AM +0200, Leon Romanovsky wrote: > > > On Sat, Feb 20, 2021 at 01:06:00PM -0600, Bjorn Helgaas wrote: > > > > On Fri, Feb 19, 2021 at 09:20:18AM +0100, Greg Kroah-Hartman wrote: > > > > > > > > > Ok, can you step back and try to explain what problem you are trying to > > > > > solve first, before getting bogged down in odd details? I find it > > > > > highly unlikely that this is something "unique", but I could be wrong as > > > > > I do not understand what you are wanting to do here at all. > > > > > > > > We want to add two new sysfs files: > > > > > > > > sriov_vf_total_msix, for PF devices > > > > sriov_vf_msix_count, for VF devices associated with the PF > > > > > > > > AFAICT it is *acceptable* if they are both present always. But it > > > > would be *ideal* if they were only present when a driver that > > > > implements the ->sriov_get_vf_total_msix() callback is bound to the > > > > PF. > > > > > > BTW, we already have all possible combinations: static, static with > > > folder, with and without "sriov_" prefix, dynamic with and without > > > folders on VFs. > > > > > > I need to know on which version I'll get Acked-by and that version I > > > will resubmit. > > > > I propose that you make static attributes for both files, so > > "sriov_vf_total_msix" is visible for *every* PF in the system and > > "sriov_vf_msix_count" is visible for *every* VF in the system. > > No problem, this is close to v0/v1. > > > The PF "sriov_vf_total_msix" show function can return zero if there's > > no PF driver or it doesn't support ->sriov_get_vf_total_msix(). > > (Incidentally, I think the documentation should mention that when it > > *is* supported, the contents of this file are *constant*, i.e., it > > does not decrease as vectors are assigned to VFs.) > > > > The "sriov_vf_msix_count" set function can ignore writes if there's no > > PF driver or it doesn't support ->sriov_get_vf_total_msix(), or if a > > VF driver is bound. > > Just to be clear, why don't we return EINVAL/EOPNOTSUPP instead of > silently ignore? Returning some error is fine. I just meant that the reads/writes would have no effect on the PCI core or the device driver.