From: Matthew Wilcox <matthew@wil.cx>
To: "Dong, Eddie" <eddie.dong@intel.com>
Cc: "Zhao, Yu" <yu.zhao@intel.com>,
linux-pci@vger.kernel.org,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Randy Dunlap <randy.dunlap@oracle.com>,
Grant Grundler <grundler@parisc-linux.org>,
Alex Chiang <achiang@hp.com>, Roland Dreier <rdreier@cisco.com>,
Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 6/6 v3] PCI: document the change
Date: Mon, 13 Oct 2008 19:08:27 -0600 [thread overview]
Message-ID: <20081014010827.GX25780@parisc-linux.org> (raw)
In-Reply-To: <08DF4D958216244799FC84F3514D70F00235CC69@pdsmsx415.ccr.corp.intel.com>
On Tue, Oct 14, 2008 at 08:23:34AM +0800, Dong, Eddie wrote:
> Matthew Wilcox wrote:
> > Wouldn't it be more useful to have the iov/N directories
> > be a symlink to the actual pci_dev used by the virtual
> > function?
>
> The main concern here is that a VF may be disabed such as when PF enter
> D3 state or undergo an reset and thus be plug-off, but user won't
> re-configure the VF in case the PF return back to working state.
If we're relying on the user to reconfigure virtual functions on return
to D0 from D3, that's a very fragile system.
> >> +For network device, there are:
> >> + - /sys/bus/pci/devices/BB:DD.F/iov/N/mac
> >> + - /sys/bus/pci/devices/BB:DD.F/iov/N/vlan
> >> + (value update will notify PF driver)
> >
> > We already have tools to set the MAC and VLAN parameters
> > for network devices.
>
> Do you mean Ethtool? If yes, it is impossible for SR-IOV since the
> configuration has to be done in PF side, rather than VF.
I don't think ethtool has that ability; ip(8) can set mac addresses and
vconfig(8) sets vlan parameters.
The device driver already has to be aware of SR-IOV. If it's going to
support the standard tools (and it damn well ought to), then it should
call the PF driver to set these kinds of parameters.
> > I'm not 100% convinced about this API. The assumption
> > here is that the driver will do it, but I think it should
> > probably be in the core. The driver probably wants to be
>
> Our concern is that the PF driver may put an default state when it is
> loaded so that SR-IOV can work without any user level configuration, but
> of course the driver won't dynamically change it.
> Do u mean we remove this ability?
>
> > notified that the PCI core is going to create a virtual
> > function, and would it please prepare to do so, but I'm
> > not convinced this should be triggered by the driver.
> > How would the driver decide to create a new virtual
> > function?
Let me try to explain this a bit better.
The user decides they want a new ethernet virtual function. In the
scheme as you have set up:
1. User communicates to ethernet driver "I want a new VF"
2. Ethernet driver tells PCI core "create new VF".
I propose:
1. User tells PCI core "I want a new VF on PCI device 0000:01:03.0"
2. PCI core tells driver "User wants a new VF"
My scheme gives us a unified way of creating new VFs, yours requires each
driver to invent a way for the user to tell them to create a new VF.
Unless I've misunderstood your code and docs.
> > From my reading of the SR-IOV spec, this isn't how it's
> > supposed to work. The device is supposed to be a fully
> > functional PCI device that on demand can start peeling
> > off virtual functions; it's not supposed to boot up and
> > initialise all its virtual functions at once.
>
> The spec defines either we enable all VFs or Disable. Per VF enabling is
> not supported.
> Is this what you concern?
I don't think that's true. The spec requires you to enable all the
VFs from 0 to NumVFs, but NumVFs can be lower than TotalVFs. At least,
that's how I read it.
But no, that isn't my concern. My concern is that you've written a
driver here that seems to be a stub driver. That doesn't seem to be
how SR-IOV is supposed to work; it's supposed to be a fully-functional
driver that has SR-IOV knowledge added to it.
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
next prev parent reply other threads:[~2008-10-14 1:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-27 8:28 [PATCH 6/6 v3] PCI: document the change Zhao, Yu
2008-10-01 16:07 ` Matthew Wilcox
2008-10-01 16:07 ` Matthew Wilcox
2008-10-14 0:23 ` Dong, Eddie
2008-10-14 1:08 ` Matthew Wilcox
2008-10-14 1:08 ` Matthew Wilcox [this message]
2008-10-14 2:31 ` Dong, Eddie
2008-10-14 2:14 ` Yu Zhao
2008-10-14 4:01 ` Matthew Wilcox
2008-10-14 4:06 ` Yu Zhao
2008-10-14 4:06 ` Yu Zhao
2008-10-14 4:18 ` Dong, Eddie
2008-10-14 4:18 ` Dong, Eddie
2008-10-14 4:46 ` Matthew Wilcox
2008-10-14 4:46 ` Matthew Wilcox
2008-10-17 5:48 ` Anirban Chakraborty
2008-10-17 5:48 ` Anirban Chakraborty
2008-10-14 4:01 ` Matthew Wilcox
2008-10-14 2:14 ` Yu Zhao
2008-10-14 2:31 ` Dong, Eddie
2008-10-14 0:23 ` Dong, Eddie
2008-11-15 12:38 ` Yu Zhao
2008-11-15 12:38 ` Yu Zhao
-- strict thread matches above, loose matches on Subject: below --
2008-09-27 8:28 Zhao, Yu
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=20081014010827.GX25780@parisc-linux.org \
--to=matthew@wil.cx \
--cc=achiang@hp.com \
--cc=eddie.dong@intel.com \
--cc=greg@kroah.com \
--cc=grundler@parisc-linux.org \
--cc=jbarnes@virtuousgeek.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
--cc=rdreier@cisco.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=yu.zhao@intel.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.