aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-05-10 14:41:05 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-10 14:41:05 -0400
commit7ec02e3bf45e0e7502db7f8d50c19abc1ebbab00 (patch)
tree1f0a24b433f0a4d096d1b87e56e682a873c8dab1
parentac2440654df6ac7314e2f8819fe05e7c863a2392 (diff)
parent8d415ee225a3d15d3e3029524350e8237a4de7b8 (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--MAINTAINERS14
-rw-r--r--arch/x86/kernel/cpu/intel.c2
-rw-r--r--arch/x86/kernel/smpboot.c5
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/
11318F: kernel/trace/ 11318F: kernel/trace/
11319F: tools/testing/selftests/ftrace/ 11319F: tools/testing/selftests/ftrace/
11320 11320
11321TRACING MMIO ACCESSES (MMIOTRACE)
11322M: Steven Rostedt <rostedt@goodmis.org>
11323M: Ingo Molnar <mingo@kernel.org>
11324R: Karol Herbst <karolherbst@gmail.com>
11325R: Pekka Paalanen <ppaalanen@gmail.com>
11326S: Maintained
11327L: linux-kernel@vger.kernel.org
11328L: nouveau@lists.freedesktop.org
11329F: kernel/trace/trace_mmiotrace.c
11330F: include/linux/mmiotrace.h
11331F: arch/x86/mm/kmmio.c
11332F: arch/x86/mm/mmio-mod.c
11333F: arch/x86/mm/testmmiotrace.c
11334
11321TRIVIAL PATCHES 11335TRIVIAL PATCHES
11322M: Jiri Kosina <trivial@kernel.org> 11336M: Jiri Kosina <trivial@kernel.org>
11323T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git 11337T: 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 /*