Re: [PATCH v2 2/2] vsmp: Ignore IOAPIC IRQ affinity if possible

From: Ido Yariv
Date: Wed May 09 2012 - 17:21:28 EST


Hi Ingo,

On Wed, May 09, 2012 at 11:18:27AM +0200, Ingo Molnar wrote:
>
> * Shai Fultheim (Shai@xxxxxxxxxxx) <Shai@xxxxxxxxxxx> wrote:
>
> > Ingo Molnar <mingo.kernel.org@xxxxxxxxx> wrote:
> > > * Ido Yariv <ido@xxxxxxxxxx> 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.
--
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/