[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] PCI passthrough will cause unknown device appearance in device manager of Windows OS via xenstore keys



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)

> 
> > ~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.