Thread (47 messages) 47 messages, 10 authors, 2012-10-01

Re: New commands to configure IOV features

From: Ben Hutchings <hidden>
Date: 2012-09-19 22:46:13
Also in: linux-pci

On Wed, 2012-09-19 at 15:17 -0700, Yinghai Lu wrote:
On Wed, Sep 19, 2012 at 12:44 PM, Ben Hutchings
[off-list ref] wrote:
quoted
On Wed, 2012-09-19 at 08:53 -0700, Greg Rose wrote:
quoted
I was not able to attend the Linux conference held at the end of August
myself but coworkers of mine here at Intel informed that method 2 here
seems to be the preferred approach.  Perhaps some folks who attended
the the conference can chime in with more specifics.
There really wasn't much more specific discussion.  Bjorn's summary of
the mini-summit <http://lwn.net/Articles/514113/> says:
quoted
SR-IOV Management

    Currently drivers implement module parameters like "max_vfs".  This means
    all devices claimed by the driver get the same number of VFs, and you can't
    change anything without unloading and reloading the driver.

    Consensus that we should try to implement a knob for this in sysfs so it
    can be generic (not in each driver) and set individually for each device.
I don't think any implementation has been posted to the linux-pci list
please check attached three patches...
[...]
quoted hunk ↗ jump to hunk
--- linux-2.6.orig/drivers/pci/pci-sysfs.c
+++ linux-2.6/drivers/pci/pci-sysfs.c
@@ -459,6 +459,30 @@ boot_vga_show(struct device *dev, struct
 }
 struct device_attribute vga_attr = __ATTR_RO(boot_vga);
 
+static ssize_t
+max_vfs_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+       struct pci_dev *pdev = to_pci_dev(dev);
+
+       return sprintf(buf, "%u\n", pdev->max_vfs);
+}
+static ssize_t
+max_vfs_store(struct device *dev, struct device_attribute *attr,
+                const char *buf, size_t count)
+{
+       unsigned long val;
+       struct pci_dev *pdev = to_pci_dev(dev);
+
+       if (strict_strtoul(buf, 0, &val) < 0)
+               return -EINVAL;
+
+       pdev->max_vfs = val;
+
+       return count;
+}
[...]

Then what would actually trigger creation of the VFs?  There's no way we
can assume that some sysfs attribute will be written before the PF
driver is loaded (what if it's built-in?).  I thought the idea was to
add a driver callback that would be called when the sysfs attribute was
written.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help