Re: [PATCH] PCI, sysfs: show ari_enabled in sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 04, 2018 at 05:09:58PM -0600, Stuart Hayes wrote:
> 
> 
> On 1/3/2018 6:08 PM, Bjorn Helgaas wrote:
> > Hi Stuart,
> > 
> > Please run "git log --oneline drivers/pci/pci-sysfs.c" and follow the
> > convention.
> > 
> 
> Bjorn,
> 
> Is the problem just with the subject line (i.e., it should be something
> like "PCI: Expose ari_enabled...")?

Yep, exactly.  I don't have any issue with the patch itself; I just
like the logs to be consistent to make them easier to read because I
spend a lot of time reading them :)

> I'm happy to fix, I just want to make sure I understand the problem so I
> get it right next time.

> > On Wed, Jan 03, 2018 at 10:36:46AM -0600, Stuart Hayes wrote:
> >> Some multifunction PCI devices with more than 8 functions use "alternative
> >> routing-ID interpretation" (ARI), which means the 8-bit device/function
> >> number field will be interpreted as 8 bits specifying the function number
> >> (the device number is 0 implicitly), rather than the upper 5 bits
> >> specifying the device number and the lower 3 bits specifying the function
> >> number. The kernel can enable and use this.
> >>
> >> Expose in a sysfs attribute whether the kernel has enabled ARI, so that a
> >> program in userspace won't have to parse PCI devices and PCI configuration
> >> space to figure out if it is enabled. This will allow better predictable
> >> network naming using PCI function numbers without using PCI bus or device
> >> numbers, which is desirable because bus and device numbers can change with
> >> system configuration but function numbers will not.
> >>
> >> Signed-off-by: Stuart Hayes <stuart.w.hayes@xxxxxxxxx>
> >> ---
> >>
> >> --- linux-4.15-rc6/drivers/pci/pci-sysfs.c.orig	2017-12-31 17:47:43.000000000 -0500
> >> +++ linux-4.15-rc6/drivers/pci/pci-sysfs.c	2018-01-02 13:58:23.372928377 -0500
> >> @@ -278,6 +278,16 @@ static ssize_t subordinate_bus_number_sh
> >>  }
> >>  static DEVICE_ATTR_RO(subordinate_bus_number);
> >>  
> >> +static ssize_t ari_enabled_show(struct device *dev,
> >> +				struct device_attribute *attr,
> >> +				char *buf)
> >> +{
> >> +	struct pci_dev *pci_dev = to_pci_dev(dev);
> >> +
> >> +	return sprintf(buf, "%u\n", pci_ari_enabled(pci_dev->bus));
> >> +}
> >> +static DEVICE_ATTR_RO(ari_enabled);
> >> +
> >>  static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
> >>  			     char *buf)
> >>  {
> >> @@ -786,6 +796,7 @@ static struct attribute *pci_dev_attrs[]
> >>  	&dev_attr_devspec.attr,
> >>  #endif
> >>  	&dev_attr_driver_override.attr,
> >> +	&dev_attr_ari_enabled.attr,
> >>  	NULL,
> >>  };
> >>  
> >>
> >>
> >> ---
> >> This email has been checked for viruses by Avast antivirus software.
> >> https://www.avast.com/antivirus
> >>



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux