@@ -647,22 +647,38 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip)
647
647
return (send_status | accept_status );
648
648
}
649
649
650
+ void smp_announce (void )
651
+ {
652
+ int num_nodes = num_online_nodes ();
653
+
654
+ printk (KERN_INFO "x86: Booted up %d node%s, %d CPUs\n" ,
655
+ num_nodes , (num_nodes > 1 ? "s" : "" ), num_online_cpus ());
656
+ }
657
+
650
658
/* reduce the number of lines printed when booting a large cpu count system */
651
659
static void announce_cpu (int cpu , int apicid )
652
660
{
653
661
static int current_node = -1 ;
654
662
int node = early_cpu_to_node (cpu );
655
- static int width ;
663
+ static int width , node_width ;
656
664
657
665
if (!width )
658
666
width = num_digits (num_possible_cpus ()) + 1 ; /* + '#' sign */
659
667
668
+ if (!node_width )
669
+ node_width = num_digits (num_possible_nodes ()) + 1 ; /* + '#' */
670
+
671
+ if (cpu == 1 )
672
+ printk (KERN_INFO "x86: Booting SMP configuration:\n" );
673
+
660
674
if (system_state == SYSTEM_BOOTING ) {
661
675
if (node != current_node ) {
662
676
if (current_node > (-1 ))
663
- pr_cont (" OK \n" );
677
+ pr_cont ("\n" );
664
678
current_node = node ;
665
- pr_info ("Booting Node %3d, Processors:" , node );
679
+
680
+ printk (KERN_INFO ".... node %*s#%d, CPUs: " ,
681
+ node_width - num_digits (node ), " " , node );
666
682
}
667
683
668
684
/* Add padding for the BSP */
@@ -671,8 +687,6 @@ static void announce_cpu(int cpu, int apicid)
671
687
672
688
pr_cont ("%*s#%d" , width - num_digits (cpu ), " " , cpu );
673
689
674
- if (cpu == num_present_cpus () - 1 )
675
- pr_cont (" OK\n" );
676
690
} else
677
691
pr_info ("Booting Node %d Processor %d APIC 0x%x\n" ,
678
692
node , cpu , apicid );
0 commit comments