Re: [PATCH v2][TRIVIAL] x86/smpboot: fix cpu bootup message

From: Borislav Petkov
Date: Tue Dec 24 2013 - 05:36:18 EST


On Tue, Dec 24, 2013 at 09:09:02AM +0800, Xie XiuQi wrote:
> On 2013/12/23 21:34, Borislav Petkov wrote:
> > On Mon, Dec 23, 2013 at 04:33:00PM +0800, Xie XiuQi wrote:
> >> When CPU0 and CPU1 aren't in same package, we got message
> >> like this:
> >>
>
> [...]
>
> >>
> >> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> >> index 85dc05a..9e82c1e 100644
> >> --- a/arch/x86/kernel/smpboot.c
> >> +++ b/arch/x86/kernel/smpboot.c
> >> @@ -639,7 +639,7 @@ static void announce_cpu(int cpu, int apicid)
> >> {
> >> static int current_node = -1;
> >> int node = early_cpu_to_node(cpu);
> >> - static int width, node_width;
> >> + static int width, node_width, padding;
> >>
> >> if (!width)
> >> width = num_digits(num_possible_cpus()) + 1; /* + '#' sign */
> >> @@ -658,11 +658,13 @@ static void announce_cpu(int cpu, int apicid)
> >>
> >> printk(KERN_INFO ".... node %*s#%d, CPUs: ",
> >> node_width - num_digits(node), " ", node);
> >> - }
> >>
> >> - /* Add padding for the BSP */
> >> - if (cpu == 1)
> >> - pr_cont("%*s", width + 1, " ");
> >> + /* Add padding for the BSP */
> >> + if (!padding && (early_cpu_to_node(0) == current_node)) {
> >
> > You don't need "padding".
> >
>
> On another machine, the configuration is:
>
> xiexiuqi@localhost:~> lscpu
> [...]
> NUMA node0 CPU(s): 4-7,12-15
> NUMA node1 CPU(s): 0-3,8-11
>
> Without "padding", we'll get message like this:
>
> [ 0.349339] x86: Booting SMP configuration:
> [ 0.353504] .... node #1, CPUs: #1 #2 #3
> [ 0.398812] .... node #0, CPUs: #4 #5 #6 #7
> [ 0.535186] .... node #1, CPUs: #8 #9 #10 #11
> [ 0.594312] .... node #0, CPUs: #12 #13 #14 #15
> [ 0.652398] x86: Booted up 2 nodes, 16 CPUs

Geez, is that box generating the cores to nodes groups at random during
each boot?!

Gotta admire bios dudes' "inventiveness".

Ok, so Ingo, I guess we can take this -v2 version for now - I need to
think of a way on how to address all that nonsense properly.

Acked-by: Borislav "luvz BIOS people" Petkov <bp@xxxxxxx>

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/