Messages in this thread |  | | Date | Sun, 16 Oct 2016 09:04:06 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/2] kernel/smp: Make the SMP boot message common on all arches |
| |
* Michael Ellerman <mpe@ellerman.id.au> wrote:
> 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(). > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > --- > arch/x86/kernel/smpboot.c | 8 -------- > kernel/smp.c | 11 +++++------ > 2 files changed, 5 insertions(+), 14 deletions(-) > > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index 42a93621f5b0..7eb8dfa56d34 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 bba3b201668d..6f5696d260c8 100644 > --- a/kernel/smp.c > +++ b/kernel/smp.c > @@ -543,15 +543,11 @@ 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) > { > unsigned int cpu; > + int num_nodes; > > idle_threads_init(); > cpuhp_threads_init(); > @@ -564,8 +560,11 @@ void __init smp_init(void) > cpu_up(cpu); > } > > + num_nodes = num_online_nodes(); > + pr_info("smp: Brought up %d node%s, %d CPUs\n", > + num_nodes, (num_nodes > 1 ? "s" : ""), num_online_cpus());
No objections - but pedantry requires me to mention that while we are evolving this code and changing the strings I think we should make the CPU announcement CPU%s smart as well: an SMP kernel on a single CPU bootup will result in num_online_cpus() == 1, right?
Thanks,
Ingo
|  |