[lkml]   [2008]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] x86_64: make amd quad core 8 socket system not be clustered_box

    quad core 8 socket system will have apic id lifting.the apic id range could
    be [4, 0x23]. or [8, 0x27]. apic_is_clustered_box will think that need to three clusters
    and that is large than 2. So it is treated as clustered_box.

    and will get

    Marking TSC unstable due to TSCs unsynchronized

    even the CPUs have X86_FEATURE_CONSTANT_TSC set.

    this patch offset back the apic before get apic clusterid.

    or use dmi to get apic_is_clustered?

    Signed-off-by: Yinghai Lu <>

    diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    index 9b2be3d..5bdf1bc 100644
    --- a/arch/x86/kernel/apic_64.c
    +++ b/arch/x86/kernel/apic_64.c
    @@ -1223,8 +1223,11 @@ __cpuinit int apic_is_clustered_box(void)

    - if (id != BAD_APICID)
    + if (id != BAD_APICID) {
    + if (id >= boot_cpu_id)
    + id -= boot_cpu_id;
    __set_bit(APIC_CLUSTERID(id), clustermap);
    + }

    /* Problem: Partially populated chassis may not have CPUs in some of

     \ /
      Last update: 2008-02-21 11:53    [W:0.019 / U:1.788 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site