Re: [PATCH] x86: don't use current_cpu_data in x2apic phys_pkg_id

From: Suresh Siddha
Date: Mon Jul 27 2009 - 14:47:56 EST


On Sat, 2009-07-25 at 03:23 -0700, Yinghai Lu wrote:
> one system that socket 1 come up as BSP. kexeced kernel report BSP as:
> [ 1.524550] Initializing cgroup subsys cpuacct
> [ 1.536064] initial_apicid:20
> [ 1.537135] ht_mask_width:1
> [ 1.538128] core_select_mask:f
> [ 1.539126] core_plus_mask_width:5
> [ 1.558479] CPU: Physical Processor ID: 0
> [ 1.559501] CPU: Processor Core ID: 0
> [ 1.560539] CPU: L1 I cache: 32K, L1 D cache: 32K
> [ 1.579098] CPU: L2 cache: 256K
> [ 1.580085] CPU: L3 cache: 24576K
> [ 1.581108] CPU 0/0x20 -> Node 0
> [ 1.596193] CPU 0 microcode level: 0xffff0008
>
> it doesn't have correct physical processor id. and will get error
> [ 38.840859] CPU0 attaching sched-domain:
> [ 38.848287] domain 0: span 0,8,72 level SIBLING
> [ 38.851151] groups: 0 8 72
> [ 38.858137] domain 1: span 0,8-15,72-79 level MC
> [ 38.868944] groups: 0,8,72 9,73 10,74 11,75 12,76 13,77 14,78 15,79
> [ 38.881383] ERROR: parent span is not a superset of domain->span
> [ 38.890724] domain 2: span 0-7,64-71 level CPU
> [ 38.899237] ERROR: domain->groups does not contain CPU0
> [ 38.909229] groups: 8-15,72-79
> [ 38.912547] ERROR: groups don't span domain->span
> [ 38.919665] domain 3: span 0-127 level NODE
> [ 38.930739] groups: 0-7,64-71 8-15,72-79 16-23,80-87 24-31,88-95 32-39,96-103 40-47,104-111 48-55,112-119 56-63,120-127
>
> it turns out:
> we can not use current_cpu_data in phys_pgd_id for x2apic.
>
> identify_boot_cpu is called by check_bugs before smp_prepare_cpus.
> and till smp_prepare_cpus current_cpu_data for bsp is assigned with
> boot_cpu_data
>
> just make phys_pkg_id for x2apic is aligned to xapic
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>

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