public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Zhao, Yu" <yu.zhao@intel.com>
To: "Fischer, Anna" <anna.fischer@hp.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"Chiang, Alexander" <achiang@hp.com>,
	"Helgaas, Bjorn" <bjorn.helgaas@hp.com>,
	"grundler@parisc-linux.org" <grundler@parisc-linux.org>,
	"greg@kroah.com" <greg@kroah.com>,
	"mingo@elte.hu" <mingo@elte.hu>,
	"matthew@wil.cx" <matthew@wil.cx>,
	"randy.dunlap@oracle.com" <randy.dunlap@oracle.com>,
	"rdreier@cisco.com" <rdreier@cisco.com>,
	"horms@verge.net.au" <horms@verge.net.au>,
	"yinghai@kernel.org" <yinghai@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support
Date: Thu, 18 Dec 2008 10:13:58 +0800	[thread overview]
Message-ID: <4949B1E6.7030309@intel.com> (raw)
In-Reply-To: <0199E0D51A61344794750DC57738F58E5E29B33E3C@GVW1118EXC.americas.hpqcorp.net>

Fischer, Anna wrote:
> I have two minor comments on this topic.
> 
> 1) Currently the PF driver is called before the kernel initializes VFs and
> their resources, and the current API does not allow the PF driver to
> detect that easily if the allocation of the VFs and their resources
> has succeeded or not. It would be quite useful if the PF driver gets
> notified when the VFs have been created successfully as it might have
> to do further device-specific work *after* IOV has been enabled.

If the VF allocation fails in the PCI layer, then the SR-IOV core will 
invokes the callback again to notify the PF driver with zero VF count. 
The PF driver does not have to concern about this even the PCI layer 
code fails (and actually it's very rare).

And I'm not sure why the PF driver wants to do further work *after* the 
VF is allocated. Does this mean PF driver have to set up some internal 
resources related to SR-IOV/VF? If yes, I suggest the PF driver do it 
before VF allocation. The design philosophy of SR-IOV/VF is that VF is 
treated as hot-plug device, which means it should be immediately usable 
by VF driver (e.g. VF driver is pre-loaded) after it appears in the PCI 
subsystem. If that is not the purpose, then PF driver should handle it 
not depending on the SR-IOV, right?

If you could elaborate your SR-IOV PF/VF h/w specific requirement, it 
would be help for me to answer this question :-)

> 2) Configuration of SR-IOV: the current API allows to enable/disable
> VFs from userspace via SYSFS. At the moment I am not quite clear what
> exactly is supposed to control these capabilities. This could be
> Linux tools or, on a virtualized system, hypervisor control tools.

This depends on user application, you know, which depends on the usage 
environment (i.e. native, KVM or Xen).

> One thing I am missing though is an in-kernel API for this which I
> think might be useful. After all the PF driver controls the device,
> and, for example, when a device error occurs (e.g. a hardware failure
> which only the PF driver will be able to detect, not Linux), then the
> PF driver might have to de-allocate all resources, shut down VFs and
> reset the device, or something like that. In that case the PF driver
> needs to have a way to notify the Linux SR-IOV code about this and
> initiate cleaning up of VFs and their resources. At the moment, this
> would have to go through userspace, I believe, and I think that is not
> an optimal solution. Yu, do you have an opinion on how this would be
> realized?

Yes, the PF driver can use pci_iov_unregister to disable SR-IOV in case 
the fatal error occurs. This function also sends notification to user 
level through 'uevent' so user application can aware the change.

Thanks,
Yu

  parent reply	other threads:[~2008-12-18  2:14 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-21 18:36 [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Yu Zhao
2008-11-21 18:38 ` [PATCH 1/13 v7] PCI: enhance pci_ari_enabled() Yu Zhao
2008-11-21 18:38 ` [PATCH 2/13 v7] PCI: remove unnecessary arg of pci_update_resource() Yu Zhao
2008-11-21 18:39 ` [PATCH 3/13 v7] PCI: define PCI resource names in an 'enum' Yu Zhao
2008-11-21 18:40 ` [PATCH 4/13 v7] PCI: remove unnecessary condition check in pci_restore_bars() Yu Zhao
2008-11-21 18:40 ` [PATCH 5/13 v7] PCI: export __pci_read_base() Yu Zhao
2008-11-21 18:41 ` [PATCH 6/13 v7] PCI: make pci_alloc_child_bus() be able to handle NULL bridge Yu Zhao
2008-11-21 18:41 ` [PATCH 7/13 v7] PCI: add a new function to map BAR offset Yu Zhao
2008-11-21 18:41 ` [PATCH 8/13 v7] PCI: cleanup pci_bus_add_devices() Yu Zhao
2008-11-21 18:42 ` [PATCH 9/13 v7] PCI: split a new function from pci_bus_add_devices() Yu Zhao
2008-11-21 18:42 ` [PATCH 10/13 v7] PCI: support the SR-IOV capability Yu Zhao
2008-11-21 18:43 ` [PATCH 11/13 v7] PCI: reserve bus range for SR-IOV device Yu Zhao
2008-11-21 18:43 ` [PATCH 12/13 v7] PCI: document the SR-IOV sysfs entries Yu Zhao
2008-11-21 18:44 ` [PATCH 13/13 v7] PCI: document for SR-IOV user and developer Yu Zhao
2008-11-21 20:57 ` [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Greg KH
2008-11-22  7:03   ` Zhao, Yu
2008-11-26 14:03 ` [SR-IOV driver example 0/3] introduction Yu Zhao
2008-11-26 14:11   ` [SR-IOV driver example 1/3] PF driver: allocate hardware specific resource Yu Zhao
2008-11-26 14:21   ` [SR-IOV driver example 2/3] PF driver: integrate with SR-IOV core Yu Zhao
2008-11-26 16:58     ` Greg KH
2008-11-26 17:54       ` Chris Wright
2008-12-01 16:46         ` Yu Zhao
2008-11-26 19:27       ` Nakajima, Jun
2008-11-26 19:55         ` Greg KH
2008-12-01 16:44       ` Yu Zhao
2008-11-26 14:40   ` [SR-IOV driver example 3/3] VF driver tar ball Yu Zhao
2008-11-26 17:00     ` Greg KH
2008-11-26 16:59   ` [SR-IOV driver example 0/3] introduction Greg KH
2008-12-01 16:54     ` Yu Zhao
2008-11-26 20:14   ` Jeff Garzik
2008-12-01 16:39     ` Yu Zhao
2008-12-02  9:27 ` [SR-IOV driver example 0/3 resend] introduction Yu Zhao
2008-12-02  9:40   ` [SR-IOV driver example 1/3 resend] PF driver: hardware specific operations Yu Zhao
2008-12-02  9:42   ` [SR-IOV driver example 2/3 resend] PF driver: integrate with SR-IOV core Yu Zhao
2008-12-03  3:12   ` [SR-IOV driver example 0/3 resend] introduction Jeff Kirsher
2008-12-16 23:23 ` [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Jesse Barnes
2008-12-17  2:37   ` Jike Song
2008-12-17  6:06     ` Greg KH
2008-12-17  7:07       ` Zhao, Yu
2008-12-17  7:21         ` Greg KH
2008-12-17 16:44       ` Rose, Gregory V
2008-12-17 17:51         ` Greg KH
2008-12-17 18:51         ` Jesse Barnes
2008-12-17 19:05           ` Rose, Gregory V
2008-12-17 19:34             ` Jeremy Fitzhardinge
2008-12-17 19:42               ` Rose, Gregory V
2008-12-17 19:42             ` Jesse Barnes
2008-12-17 19:51               ` Greg KH
2008-12-17 20:07                 ` Jesse Barnes
2008-12-18  2:39                   ` Zhao, Yu
2008-12-18 22:42               ` Rose, Gregory V
2008-12-17 11:42   ` Fischer, Anna
2008-12-17 18:59     ` Jesse Barnes
2008-12-18  2:13     ` Zhao, Yu [this message]
2008-12-18  6:37       ` Fischer, Anna
2008-12-17 14:15   ` Matthew Wilcox
2008-12-17 17:27     ` Jesse Barnes
2008-12-18  2:26     ` 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=4949B1E6.7030309@intel.com \
    --to=yu.zhao@intel.com \
    --cc=achiang@hp.com \
    --cc=anna.fischer@hp.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=greg@kroah.com \
    --cc=grundler@parisc-linux.org \
    --cc=horms@verge.net.au \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mingo@elte.hu \
    --cc=randy.dunlap@oracle.com \
    --cc=rdreier@cisco.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=yinghai@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox