[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] libxl__device_pci_reset() questions

On Thu, Feb 26, 2015 at 02:28:34PM +0000, Jan Beulich wrote:
> >>> On 19.02.15 at 15:30, <ian.campbell@xxxxxxxxxx> wrote:
> > On Thu, 2015-02-19 at 13:59 +0000, Jan Beulich wrote:
> >> All,
> >> 
> >> in the context of someone seeing "The kernel doesn't support reset
> >> from sysfs for PCI device", is my understanding correct that the lack
> >> of error checking in any caller (perhaps intentional) means that any
> >> of the errors logged from this function are really just warnings, i.e.
> >> don't prevent the assignment from taking place?
> > 
> > It was a long while ago, but I believe that was the intention, yes.
> > 
> >> Furthermore I'm puzzled by the function first thing trying to access
> >> a "do_flr" file supposedly made available by the pciback driver, yet
> >> I can't see either the upstream or the old 2.6.18 driver surfacing
> >> such a file. What am I missing here?
> > 
> > I'm not sure, on the basis of
> > http://lists.xen.org/archives/html/xen-devel/2014-06/msg03105.html and 
> > http://lists.xen.org/archives/html/xen-devel/2014-07/msg01108.html I've
> > added Konrad to the CC.
> Konrad?

I talked with David about this and his point was that:
 1). If the device advertises it can 'reset' it be better be able to do it.

 2). However there are some that lie. If they exist we should have an quirk for 
     in the PCI layer so that we don't think we have this feature available.

 3). In the case where the PCI device has none of the mechanism to do the reset
     we should provide on via xen-pciback.

The 3) David had a patch which is in XenServer which does the work - it first
figures out whether the PCI device reports as being able to do the reset. If it
is not, then we install our own 'reset' SysFS which will do the bus reset.

However looking at how VFIO and QEMU does it - there is also an check on 
the user-space part - where it decideds in some cases to ignore the 'reset'
from SysFS and do its bus-reset via the VFIO ioctl. I hadn't yet digged
completlely in the code to understand what the logic states it has to
use the VFIO ioctl bus reset instead of the PCI reset mechanism.

> Thanks, Jan

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.