From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Fanhenglong <fanhenglong@huawei.com>,
"Xuquan (Quan Xu)" <xuquan8@huawei.com>,
"sstabellini@kernel.org" <sstabellini@kernel.org>,
Wei Liu <wei.liu2@citrix.com>,
Yanqiangjun <yanqiangjun@huawei.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
lidonglin <lidonglin@huawei.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Venu Busireddy <venu.busireddy@oracle.com>,
"dengkai (A)" <dengkai1@huawei.com>
Subject: Re: PCI passthrough will cause unknown device appearance in device manager of Windows OS via xenstore keys
Date: Mon, 10 Apr 2017 10:44:47 -0400 [thread overview]
Message-ID: <20170410144447.GK21201@char.us.oracle.com> (raw)
In-Reply-To: <fdee2951-9290-4bb0-9118-ba214af3361e@citrix.com>
On Mon, Apr 10, 2017 at 03:21:41PM +0100, Andrew Cooper wrote:
> On 10/04/17 15:12, Konrad Rzeszutek Wilk wrote:
> > On Mon, Apr 10, 2017 at 02:28:58PM +0100, Wei Liu wrote:
> >> On Mon, Apr 10, 2017 at 01:46:20PM +0100, Andrew Cooper wrote:
> >>> On 10/04/17 12:24, lidonglin wrote:
> >>>> Hi all:
> >>>>
> >>>> I have one question about PCI passthrough. I found
> >>>> that if I created a VM with host pci device(cfg file as below), there
> >>>> were some xenstore keys exsiting in /local/domain/0 and
> >>>> /local/domain/DomID/. Besides I found one unknown device in device
> >>>> manager of Windows OS with Class ID FF80 from vendor ID 5853. My
> >>>> questions are as below:
> >>>>
> >>>>
> >>>>
> >>>> 1. Why do we create frontend and backend key pairs in xenstore?
> >>>> I think Passthrough is not PV, was it possible that we just used
> >>>> these keys to record something?
> >>>>
> >>>> 2. After review the code, I think backend keys are used to
> >>>> record state of hostdev, some codes will query something using these
> >>>> keys. But for frontend keys, can we delete them?
> >>>>
> >>>> 3. if frontend keys exist in xenstore, then unknown device will
> >>>> appear in device manager. Can we fix this? For an obsessive, he
> >>>> can’t stand for this.
> >>>>
> >>> This is a libxl bug which has been reported before, but nothing happened.
> >>>
> >>> libxl must not start a PV pci-back when doing HVM PCI passthrough using
> >>> qemu, because absolutely nothing good can come of having two different
> >>> ways of poking at PCI state.
> >>>
> >>> The patch, unchanged from before, is
> >>> https://github.com/xenserver/xen-4.7.pg/blob/master/master/0001-libxl-Don-t-insert-PCI-device-into-xenstore-for-HVM-.patch
> >>>
> >> ISTR Konrad made some comments about it. CC Konrad.
> > Aye. My primary beef was that you need some FLR mechanism and pciback
> > does that. The 'do_flr' was the solution to that - as you could
> > effectively do it via an ioctl and all would be good.
> >
> > Except I am probably missing some edge case (like guest is killed
> > and we need to do an FLR again, or there are AERs to deal with, etc) so
> > some pciback -> xenstore -> libxl needs to be in place even for HVM guests.
> >
> > Just disabling pciback for HVM does not solve the problem that:
> >
> > - We need FLR
> > - We need AER support (CC-ing Venu who is working on this for libxl/pciback)
>
> The problem is that pciback is two distinct pieces of functionality. It
> should be split in half, so the "steal a device from its real driver and
Yes sure.
> provide reset functionality" is purposefully separate from "be the
> reverse half the PV interface".
>
> Qemu has no problems with resetting the device when necessary, though,
It does? The sysfs 'reset' is does not do everything you expect.
> which is why this patch functions perfectly well in a real system.
>
> ~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-04-10 14:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-10 11:24 PCI passthrough will cause unknown device appearance in device manager of Windows OS via xenstore keys lidonglin
2017-04-10 12:46 ` Andrew Cooper
2017-04-10 13:28 ` Wei Liu
2017-04-10 14:12 ` Konrad Rzeszutek Wilk
2017-04-10 14:21 ` Andrew Cooper
2017-04-10 14:44 ` Konrad Rzeszutek Wilk [this message]
2017-04-10 15:37 ` Sander Eikelenboom
2017-04-10 13:43 ` Konrad Rzeszutek Wilk
2017-04-12 15:46 ` Wei Liu
2017-04-12 20:21 ` Konrad Rzeszutek Wilk
2017-04-13 8:41 ` Wei Liu
2017-04-13 11:22 ` Roger Pau Monné
2017-04-13 17:12 ` Stefano Stabellini
2017-04-13 17:31 ` Konrad Rzeszutek Wilk
2017-04-11 10:47 ` 答复: " lidonglin
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=20170410144447.GK21201@char.us.oracle.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=dengkai1@huawei.com \
--cc=fanhenglong@huawei.com \
--cc=lidonglin@huawei.com \
--cc=sstabellini@kernel.org \
--cc=venu.busireddy@oracle.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=xuquan8@huawei.com \
--cc=yanqiangjun@huawei.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.