From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: CONFIG_SPARSE_IRQ breaks single VCPU domain 0 between xen/master and xen/next
Date: Fri, 26 Feb 2010 09:28:49 -0800 [thread overview]
Message-ID: <4B8804D1.70408@goop.org> (raw)
In-Reply-To: <1267201049.11737.12593.camel@zakaz.uk.xensource.com>
On 02/26/2010 08:17 AM, Ian Campbell wrote:
> On Fri, 2010-02-26 at 12:05 +0000, Ian Campbell wrote:
>
>> Which looks might suspicious to me... However simply removing that
>> causes acpi_probe_gsi to return 16 (instead of 24) and I run out of
>> interrupts for use by real hardware (specifically my disk controller).
>> If I hack acpi_probe_gsi to return at least 24 everything works OK so
>> it seems the error is only at the detection stage.
>>
> So this seems to all relate to the removal of the xen_io_apic_(read|
> write) stuff.
>
Yep.
> I can see that the GSI routing stuff is effective replaced by
> PHYSDEVOP_setup_gsi but I don't see what replaces the IO APIC
> enumeration. We still map a dummy page for FIX_IO_ACPI_* and
> io_apic_(read|write) now go at that direct (and therefore get 0s back).
> If the intention is not to enumerate the IO APICs in this way then what
> seems to be missing is the part which discovers the number of GSIs in
> the system and I'm not sure what is supposed to replace that.
>
Nothing, as yet. The "+= 256" is definitely a hack, and we need to come
up with a sound way to resolve it. There seem to be three possibilities:
* Let the kernel see the IO APICs for the purposes of enumeration,
but nothing else (which seems to defeat the point of the exercise)
* Make up a fake Xen IO APIC mapping which just contains static
state for the config registers. (I don't think this will work,
because the IO APIC registers aren't simply memory-mapped)
* Add an interface to Xen so it can return the results of its own IO
APIC enumeration, and use that in dom0. I think this is probably
most consistent with the idea that "Xen owns all the APICs", but
I'm not sure how to wire it into the Linux side.
Ideally we should also be able to get rid of the fake IO APIC mappings
because nothing in Linux will even attempt to access them, but I suspect
in practice it will be easier to let some probe code poke at them and
find they're not there rather than try and disable the probe.
I think Xiantao has some thoughts on this too.
J
next prev parent reply other threads:[~2010-02-26 17:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-26 11:42 CONFIG_SPARSE_IRQ breaks single VCPU domain 0 between xen/master and xen/next Ian Campbell
2010-02-26 12:05 ` Ian Campbell
2010-02-26 16:17 ` Ian Campbell
2010-02-26 17:28 ` Jeremy Fitzhardinge [this message]
2010-03-01 9:41 ` Ian Campbell
2010-03-01 11:27 ` Ian Campbell
2010-03-19 18:11 ` Thomas Schwinge
2010-03-01 12:34 ` Zhang, Xiantao
2010-03-03 22:35 ` Jeremy Fitzhardinge
2010-03-05 2:41 ` Zhang, Xiantao
2010-03-19 15:07 ` Ian Campbell
2010-03-19 23:45 ` Jeremy Fitzhardinge
2010-02-28 12:01 ` Erik Brakkee
2010-02-28 20:12 ` Erik Brakkee
2010-03-01 10:33 ` Ian Campbell
2010-03-01 17:44 ` Erik Brakkee
2010-03-01 17:47 ` Konrad Rzeszutek Wilk
2010-03-01 19:36 ` Ian Campbell
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=4B8804D1.70408@goop.org \
--to=jeremy@goop.org \
--cc=Ian.Campbell@citrix.com \
--cc=xen-devel@lists.xensource.com \
--cc=xiantao.zhang@intel.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 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).