Re: A proposal - binary

From: Zachary Amsden
Date: Sat Aug 05 2006 - 00:32:00 EST


James Bottomley wrote:
Well ... I agree that in principle it's possible to have a kernel that
would run on both voyager and a generic x86 system and, I'll admit, I
tried to go that route before creating the subarchitectures. However,
in practice, I think the cost really becomes too high ... for voyager,
it becomes necessary really to intercept almost the entirety of the the
SMP API. The purpose of the subarchitecture interface wasn't to
eventually have some API description that would allow voyager to
co-exist with more normal x86 systems. It was to allow voyager to make
use of generic x86 while being completely different at the x86 SMP
level. I really don't think there'll ever be another x86 machine that's
as different from the APIC approach as the voyager VIC/QIC is. thus, I
think the actual x86 interface is much better described by mach-generic,
which abstracts out the interfaces necessary to the more standard APIC
based SMP systems.

This is quite true today. But it is entirely possible that support in Linux for Xen may want to rip out the APIC / IO-APIC entirely, replace that with event channels, and use different SMP shootdown mechanisms, as well as having their own special NMI delivery hook. We're also going to have to make certain parts of the interface extremely efficient, and we've already got several schemes to remove the penalty of indirection by being rid of indirect branches - which could be a more broadly used technique if it proves unintrusive and reliable enough. In that case, you could basically support Voyager without a subarch, plus or minus one special hook or two ;)

Zach

-
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/