diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-10 14:41:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-10 14:41:05 -0400 |
commit | 7ec02e3bf45e0e7502db7f8d50c19abc1ebbab00 (patch) | |
tree | 1f0a24b433f0a4d096d1b87e56e682a873c8dab1 | |
parent | ac2440654df6ac7314e2f8819fe05e7c863a2392 (diff) | |
parent | 8d415ee225a3d15d3e3029524350e8237a4de7b8 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"Two topology corner case fixes, and a MAINTAINERS file update for
mmiotrace maintenance"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n
MAINTAINERS: Add mmiotrace entry
x86/topology: Handle CPUID bogosity gracefully
-rw-r--r-- | MAINTAINERS | 14 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/intel.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot.c | 5 |
3 files changed, 20 insertions, 1 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index a727d9959ecd..9c567a431d8d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -11318,6 +11318,20 @@ F: include/trace/ | |||
11318 | F: kernel/trace/ | 11318 | F: kernel/trace/ |
11319 | F: tools/testing/selftests/ftrace/ | 11319 | F: tools/testing/selftests/ftrace/ |
11320 | 11320 | ||
11321 | TRACING MMIO ACCESSES (MMIOTRACE) | ||
11322 | M: Steven Rostedt <rostedt@goodmis.org> | ||
11323 | M: Ingo Molnar <mingo@kernel.org> | ||
11324 | R: Karol Herbst <karolherbst@gmail.com> | ||
11325 | R: Pekka Paalanen <ppaalanen@gmail.com> | ||
11326 | S: Maintained | ||
11327 | L: linux-kernel@vger.kernel.org | ||
11328 | L: nouveau@lists.freedesktop.org | ||
11329 | F: kernel/trace/trace_mmiotrace.c | ||
11330 | F: include/linux/mmiotrace.h | ||
11331 | F: arch/x86/mm/kmmio.c | ||
11332 | F: arch/x86/mm/mmio-mod.c | ||
11333 | F: arch/x86/mm/testmmiotrace.c | ||
11334 | |||
11321 | TRIVIAL PATCHES | 11335 | TRIVIAL PATCHES |
11322 | M: Jiri Kosina <trivial@kernel.org> | 11336 | M: Jiri Kosina <trivial@kernel.org> |
11323 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git | 11337 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git |
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index 1f7fdb91a818..e4393bfc7f0d 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c | |||
@@ -336,7 +336,7 @@ static int intel_num_cpu_cores(struct cpuinfo_x86 *c) | |||
336 | { | 336 | { |
337 | unsigned int eax, ebx, ecx, edx; | 337 | unsigned int eax, ebx, ecx, edx; |
338 | 338 | ||
339 | if (c->cpuid_level < 4) | 339 | if (!IS_ENABLED(CONFIG_SMP) || c->cpuid_level < 4) |
340 | return 1; | 340 | return 1; |
341 | 341 | ||
342 | /* Intel has a non-standard dependency on %ecx for this CPUID level. */ | 342 | /* Intel has a non-standard dependency on %ecx for this CPUID level. */ |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index a2065d3b3b39..0e4329ed91ef 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -332,6 +332,11 @@ static void __init smp_init_package_map(void) | |||
332 | * primary cores. | 332 | * primary cores. |
333 | */ | 333 | */ |
334 | ncpus = boot_cpu_data.x86_max_cores; | 334 | ncpus = boot_cpu_data.x86_max_cores; |
335 | if (!ncpus) { | ||
336 | pr_warn("x86_max_cores == zero !?!?"); | ||
337 | ncpus = 1; | ||
338 | } | ||
339 | |||
335 | __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus); | 340 | __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus); |
336 | 341 | ||
337 | /* | 342 | /* |