All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Guy Zana <guy@neocleus.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>,
	QEMU-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [Xen-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice (1/3)
Date: Mon, 14 Nov 2011 13:11:54 -0500	[thread overview]
Message-ID: <20111114181154.GC14875@phenom.dumpdata.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1111141101570.3519@kaball-desktop>

On Mon, Nov 14, 2011 at 11:09:31AM +0000, Stefano Stabellini wrote:
> 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.

Sounds good, and we should also print something prudent to the log _why_
we just killed the guest.

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Guy Zana <guy@neocleus.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>,
	QEMU-devel <qemu-devel@nongnu.org>
Subject: Re: [Xen-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice (1/3)
Date: Mon, 14 Nov 2011 13:11:54 -0500	[thread overview]
Message-ID: <20111114181154.GC14875@phenom.dumpdata.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1111141101570.3519@kaball-desktop>

On Mon, Nov 14, 2011 at 11:09:31AM +0000, Stefano Stabellini wrote:
> 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.

Sounds good, and we should also print something prudent to the log _why_
we just killed the guest.

  reply	other threads:[~2011-11-14 18:12 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-28 15:07 [Qemu-devel] [PATCH V3 00/10] Xen PCI Passthrough Anthony PERARD
2011-10-28 15:07 ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 01/10] configure: Introduce --enable-xen-pci-passthrough Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 02/10] Introduce HostPCIDevice to access a pci device on the host Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-04 17:49   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2011-11-04 17:49     ` Konrad Rzeszutek Wilk
2011-11-07 15:09     ` [Qemu-devel] " Anthony PERARD
2011-11-07 15:09       ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 03/10] pci.c: Add pci_check_bar_overlap Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 04/10] pci_ids: Add INTEL_82599_VF id Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 05/10] pci_regs: Fix value of PCI_EXP_TYPE_RC_EC Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-04  7:36   ` [Qemu-trivial] [Qemu-devel] " Isaku Yamahata
2011-11-04  7:36     ` Isaku Yamahata
2011-11-04  7:36     ` [Qemu-devel] " Isaku Yamahata
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 06/10] pci_regs: Add PCI_EXP_TYPE_PCIE_BRIDGE Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice (1/3) Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-08 12:56   ` [Qemu-devel] " Stefano Stabellini
2011-11-08 12:56     ` Stefano Stabellini
2011-11-09 17:03     ` [Qemu-devel] " Anthony PERARD
2011-11-09 17:03       ` Anthony PERARD
2011-11-10 21:28   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2011-11-10 21:28     ` Konrad Rzeszutek Wilk
2011-11-11 16:27     ` [Qemu-devel] [Xen-devel] " Anthony PERARD
2011-11-11 16:27       ` Anthony PERARD
2011-11-11 18:05       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2011-11-11 18:05         ` Konrad Rzeszutek Wilk
2011-11-14 11:09         ` [Qemu-devel] " Stefano Stabellini
2011-11-14 11:09           ` Stefano Stabellini
2011-11-14 18:11           ` Konrad Rzeszutek Wilk [this message]
2011-11-14 18:11             ` Konrad Rzeszutek Wilk
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 08/10] Introduce Xen PCI Passthrough, PCI config space helpers (2/3) Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-08 12:57   ` [Qemu-devel] " Stefano Stabellini
2011-11-08 12:57     ` Stefano Stabellini
2011-11-09 17:05     ` [Qemu-devel] " Anthony PERARD
2011-11-09 17:05       ` Anthony PERARD
2011-11-10 21:53   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2011-11-10 21:53     ` Konrad Rzeszutek Wilk
2011-11-11 17:40     ` [Qemu-devel] [Xen-devel] " Anthony PERARD
2011-11-11 17:40       ` Anthony PERARD
2011-11-11 18:11       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2011-11-11 18:11         ` Konrad Rzeszutek Wilk
2011-11-11 20:37       ` [Qemu-devel] " Ian Campbell
2011-11-11 20:37         ` Ian Campbell
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 09/10] Introduce apic-msidef.h Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-08 12:57   ` [Qemu-devel] " Stefano Stabellini
2011-11-08 12:57     ` Stefano Stabellini
2011-10-28 15:07 ` [Qemu-devel] [PATCH V3 10/10] Introduce Xen PCI Passthrough, MSI (3/3) Anthony PERARD
2011-10-28 15:07   ` Anthony PERARD
2011-11-10 22:10   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2011-11-10 22:10     ` Konrad Rzeszutek Wilk
2011-11-11 19:18     ` [Qemu-devel] " Anthony PERARD
2011-11-11 19:18       ` Anthony PERARD

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=20111114181154.GC14875@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=allen.m.kay@intel.com \
    --cc=anthony.perard@citrix.com \
    --cc=guy@neocleus.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.