This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] FLR support in xl tool stack

To: Jean Guyader <jean.guyader@xxxxxxxxx>
Subject: Re: [Xen-devel] FLR support in xl tool stack
From: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Date: Fri, 28 Jan 2011 07:34:06 +0000
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>, Wilk <konrad.wilk@xxxxxxxxxx>, "Kay, Allen M" <allen.m.kay@xxxxxxxxx>, Jean Guyader <Jean.Guyader@xxxxxxxxxx>, Thomas Horsten <thomas.horsten@xxxxxxxxxx>, Ross Philipson <Ross.Philipson@xxxxxxxxxx>
Delivery-date: Thu, 27 Jan 2011 23:34:53 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTikW-Rub9WtYCW7k2P1mDFZ=L3tUoFHPL9-JukQQ@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <987664A83D2D224EAE907B061CE93D53019438F9F8@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <AANLkTikW-Rub9WtYCW7k2P1mDFZ=L3tUoFHPL9-JukQQ@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Fri, 2011-01-28 at 04:20 +0000, Jean Guyader wrote: 
> On 28 January 2011 08:38, Kay, Allen M <allen.m.kay@xxxxxxxxx> wrote:
> > In xm tool stack, there is a function called do_FLR() located in
> python/xen/util/pci.py that takes care of issuing FLR to passthrough
> PCI devices.  This function is responsible for looking at the device
> and figure out the most appropriate way to reset the device (PCI/PCIe
> FLR, secondary bus reset, etc...).
> >
> > In xl tool stack, I see there is a libxl_device_pci_reset() in
> libxl/libxl_pci.c that suppose to do the similar thing.  It
> references /sys/bus/pci/drivers/pciback/do_flr and tries to write
> something to it.  However, pciback driver in pvops kernel
> does not seem to have this do_flr functionality.
> >
> > Is this something being worked on but not checked in to pvops dom0
> kernel yet?
> >
> > If not, I would prefer implementing all of the do_FLR()
> functionaility in libxl and not to depend on pciback driver given it
> is not part of the upstream kernel.  This will make using newer
> kernels such as 2.6.38 much easier. 
> >
> > Comments?
> >
> On the newest kernels (I don't know from which version), the reset
> function has been moved under the pci device tree directly. So
> /sys/bus/pci/device/<BDF>/reset.
Only...             ^s

... otherwise that's correct and libxl will try this path if the pciback
one does not exist.

If any additional FLR functionality is required it should be done in the
kernel as part of this generic FLR mechanism so that everyone benefits.

drivers/pci/pci-sysfs.c provides the sysfs node based on the result of
pci_probe_reset_function(dev) which tries a bunch of generic ways of
resetting a device. In addition drivers/pci/quirks.c provides some
device specific quirks.

Perhaps all that is needed is to nominate some patches for backporting
to the xen/stable-2.6.32 branch? 
$ git log --no-merges --pretty=oneline v2.6.32.27..origin/master 
seems to provide an initial set of potentially interesting candidates.


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>