From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
xen-devel@lists.xen.org
Subject: Re: [PATCH] libxl: Don't insert PCI device into xenstore for HVM guests
Date: Mon, 1 Jun 2015 16:43:53 +0100 [thread overview]
Message-ID: <556C7DB9.5000705@citrix.com> (raw)
In-Reply-To: <20150601152636.GD11531@x230.dumpdata.com>
On 06/01/2015 04:26 PM, Konrad Rzeszutek Wilk wrote:
> On Fri, May 29, 2015 at 08:59:45AM +0100, Ross Lagerwall wrote:
>> When doing passthrough of a PCI device for an HVM guest, don't insert
>> the device into xenstore, otherwise pciback attempts to use it which
>> conflicts with QEMU.
>
> How does it conflict?
It doesn't work with repeated use. See below.
>>
>> This manifests itself such that the first time a device is passed to a
>> domain, it succeeds. Subsequent attempts fail unless the device is
>> unbound from pciback or the machine rebooted.
>
> Can you be more specific please? What are the issues? Why does it
> fail?
Without this patch, if a device (e.g. a GPU) is bound to pciback and
then passed through to a guest using xl pci-attach, it appears in the
guest and works fine. If the guest is rebooted, and the device is again
passed through with xl pci-attach, it appears in the guest as before but
does not work. In Windows, it gets something like Error Code 43 and on
Linux, the Nouveau driver fails to initialize the device (with error -22
or something). The only way to get the device to work again is to reboot
the host or unbind and rebind it to pciback.
With this patch, it works as expected. The device is bound to pciback
and works after being passed through, even after the VM is rebooted.
>
> There are certain things that pciback does to "prepare" an PCI device
> which QEMU also does. Some of them - such as saving the configuration
> registers (And then restoring them after the device has been detached) -
> is something that QEMU does not do.
>
I really have no idea what the correct thing to do is, but the current
code with qemu-trad doesn't seem to work (for me).
Regards
--
Ross Lagerwall
next prev parent reply other threads:[~2015-06-01 15:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 7:59 [PATCH] libxl: Don't insert PCI device into xenstore for HVM guests Ross Lagerwall
2015-05-29 9:41 ` Wei Liu
2015-05-29 9:43 ` Ross Lagerwall
2015-05-29 9:50 ` Wei Liu
2015-05-29 9:54 ` Ross Lagerwall
2015-05-29 10:24 ` Wei Liu
2015-06-01 10:12 ` George Dunlap
2015-06-01 15:26 ` Konrad Rzeszutek Wilk
2015-06-01 15:43 ` Ross Lagerwall [this message]
2015-06-01 15:58 ` Konrad Rzeszutek Wilk
2015-06-01 15:59 ` Sander Eikelenboom
2015-06-01 16:03 ` Malcolm Crossley
2015-06-01 17:55 ` Konrad Rzeszutek Wilk
2015-06-02 10:06 ` Malcolm Crossley
2015-06-02 14:34 ` Konrad Rzeszutek Wilk
2015-06-02 15:48 ` Malcolm Crossley
2015-06-10 20:10 ` Konrad Rzeszutek Wilk
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=556C7DB9.5000705@citrix.com \
--to=ross.lagerwall@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).