Re: [PATCH RFC] x86/acpi: don't ignore I/O APICs just because there'sno local APIC
From: Jeremy Fitzhardinge
Date: Tue Jun 16 2009 - 15:38:46 EST
On 06/15/09 14:58, Eric W. Biederman wrote:
The only clean way I can see to handle this is to make xen dom0 it's ownThat seems like overkill. We can get things working under Xen with 3 changes:
weird separate subarch that does all of the table parsing of the
firmware tables in completely separate code. Then once we have something
that works factoring out the commonalities into a helper library for
better long term maintenance.
All of the subtle assumptions sound like the come out differently. Which means
you can very easily start down the road of just reusing small bits and then
you find so many assumptions are different you have to scrap/replace or gunk
up with if (xen) tests.
I think we're getting off into the weeds a bit here. I'm looking at
other options of how to fit Xen interrupt handling into the kernel in a
clean way; we may end up with a different model from the previous patch
postings (not this particular one under discussion; the ones from last
month). We can reopen this discussion when I post those patches.
However, the kernel will still need information about the I/O APICs from
ACPI so that it can perform basic interrupt routing for PCI devices (ie,
regardless of how the interrupt gets delivered, and who programs the
APIC hardware, we still need the basic information of "what io apic+pin
is this PCI device connected to?"). This particular patch is my attempt
to achieve this.
To be very clear. We have mechanism and policy mixed in the mptable
and related code today. While we continue to have that mixed I think
even attempting to reuse it for Xen dom0 is a horrifically bad move.
Nacked-by: "Eric W. Biederman"<ebiederm@xxxxxxxxxxxx>
The only effect of this patch is to parse the I/O APIC parts of the MADT
even if it skips the local APIC parts; it causes no change in behaviour
in normal circumstances (unless you actually have a physical machine
with ACPI and I/O APICs but CPUs with no local APICs, which is guess is
possible in principle).
Can you give an example of how mechanism and policy are mixed? In what
ways could it break? Would you agree to a patch which attempts to
decouple policy and mechanism to solve these problems?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/