]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies
authorSuresh Siddha <suresh.b.siddha@intel.com>
Fri, 19 Dec 2008 02:09:21 +0000 (18:09 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 18 Jan 2009 18:43:44 +0000 (10:43 -0800)
commit6c2c40d1f8d457306f77524dfc0bf6f60b831fca
treec908c04bc0913c96f97ee11b9f4a968a3b02f637
parent2476a1972109a293a4beca898c2ee4b163914229
x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies

commit 345077cd98ff5532b2d1158013c3fec7b1ae85ec upstream.

Impact: fix wrong cache sharing detection on platforms supporting > 8 bit apicid's

In the presence of extended topology eumeration leaf 0xb provided
by cpuid, 32bit extended initial_apicid in cpuinfo_x86 struct will be
updated by detect_extended_topology(). At this instance, we should also
reinit the apicid (which could also potentially be extended to 32bit).

With out this there will potentially be duplicate apicid's populated in the
per cpu's cpuinfo_x86 struct, resulting in wrong cache sharing topology etc
detected by init_intel_cacheinfo().

Reported-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/cpu/addon_cpuid_features.c
arch/x86/kernel/cpu/intel.c