Re: [RFC 8/8] x86_64: Support for new UV apic

From: Jack Steiner
Date: Tue Mar 25 2008 - 12:31:21 EST


On Tue, Mar 25, 2008 at 03:30:59PM +0100, Ingo Molnar wrote:
>
> * Jack Steiner <steiner@xxxxxxx> wrote:
>
> > Index: linux/arch/x86/kernel/genapic_64.c
>
> > @@ -69,7 +73,16 @@ void send_IPI_self(int vector)
> >
> > unsigned int get_apic_id(void)
> > {
> > - return (apic_read(APIC_ID) >> 24) & 0xFFu;
> > + unsigned int id;
> > +
> > + preempt_disable();
> > + id = apic_read(APIC_ID);
> > + if (uv_system_type >= UV_X2APIC)
> > + id |= __get_cpu_var(x2apic_extra_bits);
> > + else
> > + id = (id >> 24) & 0xFFu;;
> > + preempt_enable();
> > + return id;
>
> dont we want to put get_apic_id() into struct genapic instead? We
> already have ID management there.
>
> also, we want to unify 32-bit and 64-bit genapic code and just have
> genapic all across x86.

Long term, I think that makes sense. However, I think that should be a
separate series of patches since there are significant differences between
the 32-bit and 64-bit genapic structs.

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