|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.5] reset PCI devices on force removal even when QEMU returns error
On Fri, 12 Dec 2014, Konrad Rzeszutek Wilk wrote:
> On Fri, Dec 12, 2014 at 04:13:52PM +0100, Sander Eikelenboom wrote:
> > Hi Konrad,
> >
> > This doesn't seem to be applied yet, nor does it seem to have a
> > release-(N)ACK
> > from you ?
>
> Hm, Stefano:
>
> - Is this a regression?
I don't think so. Probably a regression compared to the xend toolstack
though.
> - What are the risks of this not going in? I presume that it just means
> we haven't reset it in sysfs. But the xc_deassign_device operation
> if not done will not affect the hypervisor - which will move the
> device to dom0 upon guest teardown.
The device becomes unusable until somebody manually resets it.
> >
> > --
> > Sander
> >
> >
> >
> > Friday, November 28, 2014, 5:53:09 PM, you wrote:
> >
> > > On do_pci_remove when QEMU returns error, we just bail out early without
> > > resetting the device. On domain shutdown we are racing with QEMU exiting
> > > and most often QEMU closes the QMP connection before executing the
> > > requested command.
> >
> > > In these cases if force=1, it makes sense to go ahead with rest of the
> > > PCI device removal, that includes resetting the device and calling
> > > xc_deassign_device. Otherwise we risk not resetting the device properly
> > > on domain shutdown.
> >
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> >
> > > diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> > > index 316643c..0ac0b93 100644
> > > --- a/tools/libxl/libxl_pci.c
> > > +++ b/tools/libxl/libxl_pci.c
> > > @@ -1243,7 +1245,7 @@ static int do_pci_remove(libxl__gc *gc, uint32_t
> > > domid,
> > > rc = ERROR_INVAL;
> > > goto out_fail;
> > > }
> > > - if (rc) {
> > > + if (rc && !force) {
> > > rc = ERROR_FAIL;
> > > goto out_fail;
> > > }
> >
> >
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |