From mboxrd@z Thu Jan 1 00:00:00 1970 From: Prarit Bhargava Subject: Re: b1cbacc866 ("x86/smpboot: Do not use smp_num_siblings in .."): divide error: 0000 [#1] SMP DEBUG_PAGEALLOC Date: Tue, 5 Dec 2017 09:30:36 -0500 Message-ID: <20171205143036.27451-1-prarit@redhat.com> References: <450d8bc5-dee3-98ce-b9a7-55de0903f0ca@redhat.com> Cc: Prarit Bhargava , Jakub Kicinski , netdev@vger.kernel.org, Clark Williams , Andi Kleen , x86@kernel.org To: linux-kernel@vger.kernel.org Return-path: In-Reply-To: <450d8bc5-dee3-98ce-b9a7-55de0903f0ca@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org >[ 0.029102] Hierarchical SRCU implementation. >[ 0.030040] smp: Bringing up secondary CPUs ... >[ 0.030528] smp: Brought up 1 node, 1 CPU >[ 0.030953] divide error: 0000 [#1] SMP DEBUG_PAGEALLOC >[ 0.031000] Modules linked in: >[ 0.031000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.0-01223-gb1cbacc #1 >[ 0.031000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 >[ 0.031000] task: ffff88001e460000 task.stack: ffffc90000008000 A single socket/package, single core, single thread system has 1 thread. __max_smt_threads is not set to 1 since smp_callin() is never called. The minimum value of __max_smt_threads must be 1. tglx, this is built on -tip. P. ----8<---- Subject: [PATCH] arch/x86: Initialize __max_smt_threads to 1 A single socket, single core, single thread system has __max_smt_threads set to 0 since smp_callin() is not called. __max_smt_threads must be a minimum of 1. Fixes: b1cbacc8663a ("x86/smpboot: Do not use smp_num_siblings in __max_logical_packages calculation) Signed-off-by: Prarit Bhargava Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Cc: "netdev@vger.kernel.org" Cc: Clark Williams Cc: Andi Kleen Cc: x86@kernel.org Link: https://marc.info/?t=151246092100004&r=1&w=2 --- arch/x86/kernel/smpboot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index eaee15fb7d8b..882c61e1d7a2 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -106,7 +106,7 @@ EXPORT_SYMBOL(__max_logical_packages); static unsigned int logical_packages __read_mostly; /* Maximum number of SMT threads on any online core */ -int __max_smt_threads __read_mostly; +int __read_mostly __max_smt_threads = 1; /* Flag to indicate if a complete sched domain rebuild is required */ bool x86_topology_update; -- 2.15.0.rc0.39.g2f0e14e64