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

Re: [Xen-devel] Question about the XEN platform pci



On Wed, Apr 13, 2016 at 11:55 AM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> On Wed, Apr 13, 2016 at 09:00:18AM +0200, karim.allah.ahmed@xxxxxxxxx wrote:
>> On Tue, Apr 12, 2016 at 5:45 PM, Konrad Rzeszutek Wilk
>> <konrad.wilk@xxxxxxxxxx> wrote:
>> > On Tue, Apr 12, 2016 at 05:33:47PM +0200, karim.allah.ahmed@xxxxxxxxx 
>> > wrote:
>> >> The INTx interrupt of this platform device can be used by Xen in HVM case 
>> >> to
>> >> notify the guest of pending events in the event channel. However that's 
>> >> usually
>> >> not used in favor of vector callbacks support in Xen where a vector is 
>> >> injected
>> >> directly to the vCPU bypassing LAPIC.
>> >>
>> >> (that said, the platform-pci driver in linux is actually broken when 
>> >> vector
>> >> callbacks are not used anyway)
>> >
>> > Oh? Is there an report/bug somewhere?
>> >
>>
>> I'm not sure if it's reported as a bug somewhere or not.
>>
>> I've always assumed that INTx is deperecated and vector callbacks are the one
>> that's supported that's why I never tried to fix it, in addition I never 
>> tried
>> to reproduce it I just looked at the code and it seemed a little bit off as
>> explained below.
>>
>> Mainly xenbus_init is called during postcore_initcall which will eventually 
>> try
>> to read a value from XenStore and will get stuck on read_reply at xenbus
>> forever since the platform driver is not probed yet and its INTx interrupt
>> handler is not registered yet which basically means that the guest can not be
>> notified at this moment of any pending event channels and none of the 
>> per-event
>> handlers will ever be invoked (including the XenStore one) and the reply will
>> never be picked up by the kernel.
>
> Argh, well that is not good. Also - thanks for reporting this.
>
> No simple ideas come to my mind on how this can be fixed - unless we
> move the xenbus_init and its driver past the platform-pci init?
>
> Or if platform-pci init code ends up being called earlier?
>

Let me test a few alternatives and send a patch to fix that first.

>>
>> The exact stack where things get stuck during xenbus_init:
>>
>> -xenbus_init
>>  -xs_init
>>   -xs_reset_watches
>>    -xenbus_scanf
>>     -xenbus_read
>>      -xs_single
>>       -xs_single
>>        -xs_talkv
>>
>> > Thanks!
>> >>
>> >> I also think that the grant-table lives on this PCI device MMIO BAR (?!)
>> >
>> > The area may be usurped for grant-table as the OS won't touch that memory
>> > area (it after all belongs to the device).
>> >>
>> >> If you looked at hw/i386/xen/xen_platform.c in QEMU source , you will get 
>> >> a
>> >> general idea what this device is supposed todo (like logging to syslog 
>> >> stuff
>> >> for example).
>> >>
>> >> That said the platform device is really not fully utilized anyway in 
>> >> Linux.
>> >>
>> >> On Tue, Apr 12, 2016 at 4:09 PM, Konrad Rzeszutek Wilk
>> >> <konrad.wilk@xxxxxxxxxx> wrote:
>> >> > On Tue, Apr 12, 2016 at 02:19:48AM +0000, Wu, Bob wrote:
>> >> >>
>> >> >> Really thanks for your reply.
>> >> >
>> >> > Hey!
>> >> >
>> >> > CC-ing Xen-devel back on. Please do not drop it and please don't
>> >> > top-post.
>> >> >>
>> >> >> Can you explain a little more?
>> >> >
>> >> > I am not sure what you want me to explain. Perhaps if you
>> >> > read http://xenbits.xen.org/docs/unstable/misc/hvm-emulated-unplug.html
>> >> > it may become clearer?
>> >> >
>> >> >> Is the xen platform pci driver the only purpose for telling QEMU  that 
>> >> >> don’t emulate the IDE driver?
>> >> >
>> >> > And network.
>> >> >> I think it can be done by a simple way, but don't need use this huge 
>> >> >> platform driver.
>> >> >
>> >> > ?
>> >> >>
>> >> >> I guess this is for PCI pass through in XEN HVM mode, but don't sure.
>> >> >
>> >> > No.
>> >> >>
>> >> >> Thanks,
>> >> >> Bob
>> >> >>
>> >> >>
>> >> >> -----Original Message-----
>> >> >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx]
>> >> >> Sent: 2016年4月11日 22:24
>> >> >> To: Wu, Bob
>> >> >> Cc: xen-devel@xxxxxxxxxxxxx
>> >> >> Subject: Re: [Xen-devel] Question about the XEN platform pci
>> >> >>
>> >> >> On Fri, Apr 08, 2016 at 08:52:08AM +0000, Wu, Bob wrote:
>> >> >> >
>> >> >> > Sorry bother, I read the XEN source code recently, and found the XEN
>> >> >> > platform PCI code under drivers/xen/platform-pci.c, and I can't 
>> >> >> > fully under this driver's affect, can anybody explain a little for 
>> >> >> > me?
>> >> >> >
>> >> >> > Is the platform PCI driver for PV-split-PCI-driver-model such as the 
>> >> >> > pci-frontend/pci-backend? or for PCI pass-through model? Or for 
>> >> >> > other purpose?
>> >> >> > I saw the xenbus_pcifront_driver/ xenbus_xen_pcibk_driver are 
>> >> >> > registered on XENBUS, so I guess the platform-PCI-driver is not for 
>> >> >> > PV PCI driver.
>> >> >> >
>> >> >>
>> >> >> It is for the QEMU driver. To tell QEMU to stop emulating the 
>> >> >> IDE/network.
>> >> >>
>> >> >> > Really thank you for your replay.
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Bob
>> >> >> >
>> >> >>
>> >> >> > _______________________________________________
>> >> >> > Xen-devel mailing list
>> >> >> > Xen-devel@xxxxxxxxxxxxx
>> >> >> > http://lists.xen.org/xen-devel
>> >> >>
>> >> >
>> >> > _______________________________________________
>> >> > Xen-devel mailing list
>> >> > Xen-devel@xxxxxxxxxxxxx
>> >> > http://lists.xen.org/xen-devel
>> >>
>> >>
>> >>
>> >> --
>> >> Karim Allah Ahmed.
>>
>>
>>
>> --
>> Karim Allah Ahmed.



-- 
Karim Allah Ahmed.

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

 


Rackspace

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