From: Don Dutile <ddutile@redhat.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: linux-pci@vger.kernel.org, bhelgaas@google.com,
yuvalmin@broadcom.com, gregory.v.rose@intel.com,
yinghai@kernel.org, davem@davemloft.net
Subject: Re: [PATCH 4/4] PCI,sriov: provide method to reduce the number of total VFs supported
Date: Thu, 01 Nov 2012 17:12:39 -0400 [thread overview]
Message-ID: <5092E5C7.7030601@redhat.com> (raw)
In-Reply-To: <1351727591.2706.52.camel@bwh-desktop.uk.solarflarecom.com>
On 10/31/2012 07:53 PM, Ben Hutchings wrote:
> On Wed, 2012-10-31 at 17:19 -0400, Donald Dutile wrote:
>> Some implementations of SRIOV provide a capability structure
>> value of TotalVFs that is greater than what the software can support.
>> Provide a method to reduce the capability structure reported value
>> to the value the driver can support.
>> This ensures sysfs reports the current capability of the system,
>> hardware and software.
>> Example for its use: igb& ixgbe -- report 8& 64 as TotalVFs,
>> but drivers only support 7& 63 maximum.
>>
>> Signed-off-by: Donald Dutile<ddutile@redhat.com>
>> ---
>> drivers/pci/iov.c | 27 ++++++++++++++++++++++++++-
>> drivers/pci/pci-sysfs.c | 10 ++++++++--
>> drivers/pci/pci.h | 1 +
>> include/linux/pci.h | 5 +++++
>> 4 files changed, 40 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
>> index aeccc91..98c3d37 100644
>> --- a/drivers/pci/iov.c
>> +++ b/drivers/pci/iov.c
>> @@ -682,7 +682,6 @@ int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn)
>>
>> if (!dev->is_physfn)
>> return -ENODEV;
>> -
>> return sriov_enable(dev, nr_virtfn);
>> }
>> EXPORT_SYMBOL_GPL(pci_enable_sriov);
>
> This hunk doesn't belong in this patch.
>
gone in next rev.
>> @@ -735,3 +734,29 @@ int pci_num_vf(struct pci_dev *dev)
>> return dev->sriov->nr_virtfn;
>> }
>> EXPORT_SYMBOL_GPL(pci_num_vf);
>> +
>> +/**
>> + * pci_sriov_set_totalvfs -- reduce the TotalVFs available
>> + * @dev: the PCI PF device
>> + * numvfs: number that should be used for TotalVFs supported
>> + *
>> + * Should be called from PF driver's probe routine with
>> + * device's mutex held.
>> + *
>> + * Returns 0 if PF is an SRIOV-capable device and
>> + * value of numvfs valid, otherwise -EINVAL
>
> This says the only possible error is -EINVAL, but it can also return
> -EIO! And the already-enabled case might be one that some drivers will
> need to handle specially.
>
>> + */
>> +int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs)
>> +{
>> + if (!dev || !dev->is_physfn || (numvfs> dev->sriov->total))
>> + return -EINVAL;
>> +
>> + /* Shouldn't change if VFs already enabled */
>> + if (dev->sriov->ctrl& PCI_SRIOV_CTRL_VFE)
>> + return -EIO;
> [...]
>
> EBUSY seems a bit more appropriate.
>
> Ben.
>
ok. changed to -EBUSY & comment on return values.
After looking at this area more, I created a pci_sriov_get_totalvfs()
as well, and now use that in the pci-sysfs.c file as well....
much cleaner; symmetric to set. Makes backporting to
those crazy enterprise releases w/kabi rules easier too! ;-)
next prev parent reply other threads:[~2012-11-01 21:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-31 21:19 [RFC] SRIOV device enable and disable via sysfs Donald Dutile
2012-10-31 21:19 ` [PATCH 1/4] PCI: add pci_device_type to pdev's device struct Donald Dutile
2012-10-31 21:19 ` [PATCH 2/4] PCI,sys: Use is_visible() with boot_vga attribute for pci_dev Donald Dutile
2012-10-31 21:53 ` Yinghai Lu
2012-10-31 22:08 ` Don Dutile
2012-10-31 22:20 ` Yinghai Lu
2012-10-31 21:19 ` [PATCH 3/4] PCI,sys: SRIOV control and status via sysfs Donald Dutile
2012-10-31 23:47 ` Ben Hutchings
2012-11-01 21:10 ` Don Dutile
2012-10-31 21:19 ` [PATCH 4/4] PCI,sriov: provide method to reduce the number of total VFs supported Donald Dutile
2012-10-31 23:53 ` Ben Hutchings
2012-11-01 21:12 ` Don Dutile [this message]
2012-10-31 21:19 ` [PATCH 5/8] ixgbe: refactor mailbox ops init Donald Dutile
2012-10-31 21:19 ` [PATCH 6/8] ixgbe: refactor SRIOV enable and disable for sysfs interface Donald Dutile
2012-10-31 21:19 ` [PATCH 7/8] ixgbe: sysfs sriov configuration callback support Donald Dutile
2012-10-31 21:19 ` [PATCH 8/8] ixgbe: change totalvfs to match support in driver Donald Dutile
2012-10-31 21:49 ` [PATCH] SRIOV device enable and disable via sysfs Don Dutile
-- strict thread matches above, loose matches on Subject: below --
2012-11-05 20:20 [PATCH v2] PCI " Donald Dutile
2012-11-05 20:20 ` [PATCH 4/4] PCI,sriov: provide method to reduce the number of total VFs supported Donald Dutile
2012-11-10 21:33 ` Bjorn Helgaas
2012-11-12 16:33 ` Don Dutile
2012-11-12 20:57 ` Greg Rose
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5092E5C7.7030601@redhat.com \
--to=ddutile@redhat.com \
--cc=bhelgaas@google.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=gregory.v.rose@intel.com \
--cc=linux-pci@vger.kernel.org \
--cc=yinghai@kernel.org \
--cc=yuvalmin@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.