|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice
To: |
Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> |
Subject: |
Re: [Xen-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice (1/3) |
From: |
Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> |
Date: |
Mon, 14 Nov 2011 11:09:31 +0000 |
Cc: |
Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>, Allen Kay <allen.m.kay@xxxxxxxxx>, QEMU-devel <qemu-devel@xxxxxxxxxx>, Guy Zana <guy@xxxxxxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx> |
Delivery-date: |
Mon, 14 Nov 2011 03:13:28 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20111111180542.GA6408@xxxxxxxxxxxxxxxxxxx> |
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> |
References: |
<1319814456-8158-1-git-send-email-anthony.perard@xxxxxxxxxx> <1319814456-8158-8-git-send-email-anthony.perard@xxxxxxxxxx> <20111110212840.GA23643@xxxxxxxxxxxxxxxxxxx> <alpine.DEB.2.00.1111111627430.8085@xxxxxxxxxxxxxxxxxxxxxxx> <20111111180542.GA6408@xxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Alpine 2.00 (DEB 1167 2008-08-23) |
On Fri, 11 Nov 2011, Konrad Rzeszutek Wilk wrote:
> > > > + hw_error("Internal error: Invalid write emulation "
> > > > + "return value[%d]. I/O emulator exit.\n", rc);
> > >
> > > Oh. I hadn't realized this, but you are using hw_error. Which is
> > > calling 'abort'! Yikes. Is there no way to recover from this? Say return
> > > 0xfffff?
> >
> > In qemu-xen-traditionnal, it was an exit(1). I do not know the
> > consequence of a bad write, and I can not return anythings. So I suppose
> > that the guest would know that somethings wrong only on the next read.
> >
> > Instead of abort();, I can just do nothing and return. Or we could unplug
> > the device from QEMU.
> >
> > Any preference?
>
> I think this calls for an experiment. If Linux still functions if you
> completly
> unplug the device, then I would say unplug it (b/c in most likelyhood the
> reason
> you can't write is b/c the host has unplugged the device).
It would make sense to try to PCI hot-unplug the device, however
considering that it requires guest support, it cannot be used to safely
handle an error like this one. Also it requires some interactions that
might not be possible anymore at this point.
I would destroy the domain instead, using a graceful shutdown if
possible. Something similar to libxl_domain_shutdown.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|