lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 26 Oct 2016 16:37:54 +1100 From: Michael Ellerman <mpe@...erman.id.au> To: akpm@...l.org Cc: tglx@...utronix.de, mingo@...hat.com, hpa@...or.com, x86@...nel.org, peterz@...radead.org, jgross@...e.com, mgorman@...hsingularity.net, richard@....at, len.brown@...el.com, bp@...e.de, boris.ostrovsky@...cle.com, tim.c.chen@...ux.intel.com, ak@...ux.intel.com, jolsa@...hat.com, linux-kernel@...r.kernel.org Subject: [PATCH v2 2/3] kernel/smp: Make the SMP boot message common on all arches Currently after bringing up secondary CPUs all arches print "Brought up %d CPUs". On x86 they also print the number of nodes that were brought online. It would be nice to also print the number of nodes on other arches. Although we could override smp_announce() on the other ~10 NUMA aware arches, it seems simpler to just always print the number of nodes. On non-NUMA arches there is just always 1 node. Having done that, smp_announce() is no longer weak, and seems small enough to just pull directly into smp_init(). Also update the printing of "%d CPUs" to be smart when an SMP kernel is booted on a single CPU system, or when only one CPU is available, eg: smp: Brought up 2 nodes, 1 CPU Signed-off-by: Michael Ellerman <mpe@...erman.id.au> Reviewed-by: Borislav Petkov <bp@...e.de> --- arch/x86/kernel/smpboot.c | 8 -------- kernel/smp.c | 13 +++++++------ 2 files changed, 7 insertions(+), 14 deletions(-) v2: Print singular CPU when only 1 CPU is found. Drop "smp:" from pr_info() now we have pr_fmt() defined. diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 42f5eb7b4f6c..b9f02383f372 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -821,14 +821,6 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) return (send_status | accept_status); } -void smp_announce(void) -{ - int num_nodes = num_online_nodes(); - - printk(KERN_INFO "x86: Booted up %d node%s, %d CPUs\n", - num_nodes, (num_nodes > 1 ? "s" : ""), num_online_cpus()); -} - /* reduce the number of lines printed when booting a large cpu count system */ static void announce_cpu(int cpu, int apicid) { diff --git a/kernel/smp.c b/kernel/smp.c index 2d1f15d43022..4323c5db7d26 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -546,14 +546,10 @@ void __init setup_nr_cpu_ids(void) nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; } -void __weak smp_announce(void) -{ - printk(KERN_INFO "Brought up %d CPUs\n", num_online_cpus()); -} - /* Called by boot processor to activate the rest. */ void __init smp_init(void) { + int num_nodes, num_cpus; unsigned int cpu; idle_threads_init(); @@ -567,8 +563,13 @@ void __init smp_init(void) cpu_up(cpu); } + num_nodes = num_online_nodes(); + num_cpus = num_online_cpus(); + pr_info("Brought up %d node%s, %d CPU%s\n", + num_nodes, (num_nodes > 1 ? "s" : ""), + num_cpus, (num_cpus > 1 ? "s" : "")); + /* Any cleanup work */ - smp_announce(); smp_cpus_done(setup_max_cpus); } -- 2.7.4
Powered by blists - more mailing lists