Messages in this thread Patch in this message | | | Date | Tue, 10 May 2016 14:01:28 +0200 | From | Ingo Molnar <> | Subject | [GIT PULL] x86 fixes |
| |
Linus,
Please pull the latest x86-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
# HEAD: 8d415ee225a3d15d3e3029524350e8237a4de7b8 x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n
Two topology corner case fixes, and a MAINTAINERS file update for mmiotrace maintenance.
out-of-topic modifications in x86-urgent-for-linus: ----------------------------------------------------- MAINTAINERS # 4abac0d0bbc6: MAINTAINERS: Add mmiotrace e
Thanks,
Ingo
------------------> Ingo Molnar (1): MAINTAINERS: Add mmiotrace entry
Thomas Gleixner (2): x86/topology: Handle CPUID bogosity gracefully x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n
MAINTAINERS | 14 ++++++++++++++ arch/x86/kernel/cpu/intel.c | 2 +- arch/x86/kernel/smpboot.c | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS index a727d9959ecd..9c567a431d8d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11318,6 +11318,20 @@ F: include/trace/ F: kernel/trace/ F: tools/testing/selftests/ftrace/ +TRACING MMIO ACCESSES (MMIOTRACE) +M: Steven Rostedt <rostedt@goodmis.org> +M: Ingo Molnar <mingo@kernel.org> +R: Karol Herbst <karolherbst@gmail.com> +R: Pekka Paalanen <ppaalanen@gmail.com> +S: Maintained +L: linux-kernel@vger.kernel.org +L: nouveau@lists.freedesktop.org +F: kernel/trace/trace_mmiotrace.c +F: include/linux/mmiotrace.h +F: arch/x86/mm/kmmio.c +F: arch/x86/mm/mmio-mod.c +F: arch/x86/mm/testmmiotrace.c + TRIVIAL PATCHES M: Jiri Kosina <trivial@kernel.org> 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) { unsigned int eax, ebx, ecx, edx; - if (c->cpuid_level < 4) + if (!IS_ENABLED(CONFIG_SMP) || c->cpuid_level < 4) return 1; /* 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) * primary cores. */ ncpus = boot_cpu_data.x86_max_cores; + if (!ncpus) { + pr_warn("x86_max_cores == zero !?!?"); + ncpus = 1; + } + __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus); /*
| |