Re: [patch] genapic: default to physical mode on hotplug CPU kernels

From: Siddha, Suresh B
Date: Tue Nov 28 2006 - 17:57:02 EST


On Tue, Nov 28, 2006 at 09:23:22PM +0100, Ingo Molnar wrote:
>
> * Siddha, Suresh B <suresh.b.siddha@xxxxxxxxx> wrote:
>
> > On Tue, Nov 28, 2006 at 07:33:46AM +0100, Ingo Molnar wrote:
> > > - if (clusters <= 1 && max_cluster <= 8 && cluster_cnt[0] == max_cluster)
> > > + if (max_apic < 8)
> >
> > Patch mostly looks good. Instead of checking for max_apic, can we use
> > cpus_weight(cpu_possible_map) <= 8
>
> ok - but i think it's still possible the BIOS tells us APIC IDs that are
> larger than 7, even if there are fewer CPUs. So i think the patch below
> should cover it. Agreed?
>

I think it is ok to use flat mode even when APIC IDs are larger than 7, as
we rely on LDR's which are programmed using smp_processor_id().

IMO, cpus_weight check should be fine.

thanks,
suresh

> Ingo
>
> -------------------->
> From: Ingo Molnar <mingo@xxxxxxx>
> Subject: [patch] genapic: default to physical mode on hotplug CPU kernels
>
> default to physical mode on hotplug CPU kernels.
>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
>
> Index: linux/arch/x86_64/kernel/genapic.c
> ===================================================================
> --- linux.orig/arch/x86_64/kernel/genapic.c
> +++ linux/arch/x86_64/kernel/genapic.c
> @@ -51,7 +51,7 @@ void __init clustered_apic_check(void)
> max_apic = id;
> }
>
> - if (max_apic < 8)
> + if (max_apic < 8 && cpus_weight(cpu_possible_map) <= 8)
> genapic = &apic_flat;
> else
> genapic = &apic_physflat;
-
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/