xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "karim.allah.ahmed@gmail.com" <karim.allah.ahmed@gmail.com>
Cc: xen-devel@lists.xenproject.org, "Wu, Bob" <Bob.Wu@emc.com>
Subject: Re: Question about the XEN platform pci
Date: Wed, 13 Apr 2016 05:55:38 -0400	[thread overview]
Message-ID: <20160413095537.GD2133@localhost.localdomain> (raw)
In-Reply-To: <CAOTdubsXgaYwHbddKYtvfk_RofobuZWP==H2Dwf-5DGrasgHpw@mail.gmail.com>

On Wed, Apr 13, 2016 at 09:00:18AM +0200, karim.allah.ahmed@gmail.com wrote:
> On Tue, Apr 12, 2016 at 5:45 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > On Tue, Apr 12, 2016 at 05:33:47PM +0200, karim.allah.ahmed@gmail.com 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?

> 
> 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@oracle.com> 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@oracle.com]
> >> >> Sent: 2016年4月11日 22:24
> >> >> To: Wu, Bob
> >> >> Cc: xen-devel@lists.xen.org
> >> >> 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@lists.xen.org
> >> >> > http://lists.xen.org/xen-devel
> >> >>
> >> >
> >> > _______________________________________________
> >> > Xen-devel mailing list
> >> > Xen-devel@lists.xen.org
> >> > http://lists.xen.org/xen-devel
> >>
> >>
> >>
> >> --
> >> Karim Allah Ahmed.
> 
> 
> 
> -- 
> Karim Allah Ahmed.

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

  parent reply	other threads:[~2016-04-13  9:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-08  8:52 Question about the XEN platform pci Wu, Bob
2016-04-11 14:24 ` Konrad Rzeszutek Wilk
     [not found]   ` <6EB2BCCF7D344449A7542128268C26FF047FD490@MX105CL02.corp.emc.com>
2016-04-12 14:09     ` Konrad Rzeszutek Wilk
2016-04-12 15:33       ` karim.allah.ahmed
2016-04-12 15:45         ` Konrad Rzeszutek Wilk
2016-04-13  7:00           ` karim.allah.ahmed
2016-04-13  7:28             ` Wu, Bob
2016-04-13  8:31               ` karim.allah.ahmed
2016-04-13  9:55             ` Konrad Rzeszutek Wilk [this message]
2016-04-15  5:47               ` karim.allah.ahmed
2016-04-12 16:05         ` Roger Pau Monné
2016-04-13  3:59         ` Wu, Bob

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=20160413095537.GD2133@localhost.localdomain \
    --to=konrad.wilk@oracle.com \
    --cc=Bob.Wu@emc.com \
    --cc=karim.allah.ahmed@gmail.com \
    --cc=xen-devel@lists.xenproject.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).