Messages in this thread | | | Date | Thu, 10 May 2012 00:21:17 +0300 | From | Ido Yariv <> | Subject | Re: [PATCH v2 2/2] vsmp: Ignore IOAPIC IRQ affinity if possible |
| |
Hi Ingo,
On Wed, May 09, 2012 at 11:18:27AM +0200, Ingo Molnar wrote: > > * Shai Fultheim (Shai@ScaleMP.com) <Shai@ScaleMP.com> wrote: > > > Ingo Molnar <mingo.kernel.org@gmail.com> wrote: > > > * Ido Yariv <ido@wizery.com> wrote: > > > > > > @@ -51,6 +60,7 @@ void __init default_setup_apic_routing(void) > > > > if (is_vsmp_box()) { > > > > /* need to update phys_pkg_id */ > > > > apic->phys_pkg_id = apicid_phys_pkg_id; > > > > + apic->vector_allocation_domain = > > > fill_vector_allocation_domain; > > > > } > > > > } > > > > > > This is_vsmp_box() special case should really move into its own > > > apic handler. > > > > > > Thanks, > > > > Ingo, > > > > vSMP Foundation virtualize multiple systems as one. The Guest > > OS is using the underlying hardware APIC driver, and therefore > > we must allow the various APIC drivers to kick in. When using > > vSMP Foundation APIC driver is selected by the kernel based on > > the hardware that is being virtualized, and that can be APIC, > > X2APIC phys, X2APIC cluster, summit, etc. > > > > If we would to implement an APIC handler, we would not be able > > to use the native hardware APIC driver (unless we do an ugly > > hack). > > If you need a callback on that level then there's a cleaner > mechanism than open-coding vsmp handlers into generic code: > > - create a new platform callback in x86_platform_ops > - call it from apic_64.c if set > - fill in the vSMP specific handler from the vSMP init code
Sounds good.
We'll look into it and post an alternative patch to this one.
Thanks, Ido.
| |