linux/arch/x86/kernel/cpu
Shai Fultheim ddc5681ed3 x86/cache_info: Fix setup of l2/l3 ids
On some architectures (such as vSMP), it is possible to have
CPUs with a different number of cores sharing the same cache.

The current implementation implicitly assumes that all CPUs will
have the same number of cores sharing caches, and as a result,
different CPUs can end up with the same l2/l3 ids.

Fix this by masking out the shared cache bits, instead of
shifting the APICID. By doing so, it is guaranteed that the
generated cache ids are always unique.

Signed-off-by: Shai Fultheim <shai@scalemp.com>
[ rebased, simplified, and reworded the commit message]
Signed-off-by: Ido Yariv <ido@wizery.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Mike Travis <travis@sgi.com>
Cc: Dave Jones <davej@redhat.com>
Link: http://lkml.kernel.org/r/1334873351-31142-1-git-send-email-ido@wizery.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-05-07 15:27:37 +02:00
..
mcheck Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
mtrr Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-03-29 18:12:23 -07:00
.gitignore
amd.c x86/amd: Re-enable CPU topology extensions in case BIOS has disabled it 2012-04-27 16:43:09 +02:00
bugs_64.c
bugs.c x86-32, fpu: Fix DNA exception during check_fpu() 2011-06-30 17:29:47 -07:00
centaur.c x86, centaur: Enable cx8 for VIA Eden too 2011-12-15 08:04:42 -08:00
common.c x86/platform: Remove incorrect error message in x86_default_fixup_cpu_id() 2012-04-16 20:43:43 +02:00
cpu.h x86, CPU: Drop superfluous get_cpu_cap() prototype 2011-12-09 08:00:53 +01:00
cyrix.c
hypervisor.c x86, hyper: Change hypervisor detection order 2011-07-08 16:22:29 -07:00
intel_cacheinfo.c x86/cache_info: Fix setup of l2/l3 ids 2012-05-07 15:27:37 +02:00
intel.c x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86' 2011-12-21 09:25:09 +01:00
Makefile Add driver auto probing for x86 features v4 2012-01-26 16:44:41 -08:00
match.c x86/cpu: Clean up modalias feature matching 2012-02-13 15:24:26 -08:00
mkcapflags.pl
mshyperv.c x86: Hyper-V: Integrate the clocksource with Hyper-V detection code 2011-09-08 10:33:59 +02:00
perf_event_amd_ibs.c perf, x86: Force IBS LVT offset assignment for family 10h 2011-12-05 09:32:59 +01:00
perf_event_amd.c perf: Adding sysfs group format attribute for pmu device 2012-03-16 14:06:06 -03:00
perf_event_intel_ds.c perf/x86: Add LBR software filter support for Intel CPUs 2012-03-05 14:55:42 +01:00
perf_event_intel_lbr.c perf/x86: Add LBR software filter support for Intel CPUs 2012-03-05 14:55:42 +01:00
perf_event_intel.c perf: Adding sysfs group format attribute for pmu device 2012-03-16 14:06:06 -03:00
perf_event_p4.c perf/x86/p4: Add format attributes 2012-04-03 08:33:38 +02:00
perf_event_p6.c perf: Adding sysfs group format attribute for pmu device 2012-03-16 14:06:06 -03:00
perf_event.c Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-03-31 13:34:04 -07:00
perf_event.h perf: Adding sysfs group format attribute for pmu device 2012-03-16 14:06:06 -03:00
perfctr-watchdog.c perf, x86: Add new AMD family 15h msrs to perfctr reservation code 2011-02-16 13:30:50 +01:00
powerflags.c x86: Report cpb and eff_freq_ro flags correctly 2011-12-15 08:14:49 +01:00
proc.c x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86' 2011-12-21 09:25:09 +01:00
rdrand.c x86, random: Verify RDRAND functionality and allow it to be disabled 2011-07-31 14:02:19 -07:00
scattered.c X86: Introduce HW-Pstate scattered cpuid feature 2012-01-26 16:49:06 -08:00
sched.c
topology.c x86, cpu: Split addon_cpuid_features.c 2010-07-19 19:02:41 -07:00
transmeta.c
umc.c
vmware.c x86: Fix common misspellings 2011-03-18 10:39:30 +01:00