Skip to content

Commit

Permalink
timers, init: Limit the number of per cpu calibration bootup messages
Browse files Browse the repository at this point in the history
Limit the number of per cpu calibration messages by only
printing out results for the first cpu to boot.

Also, don't print "CPUx is down" as this is expected, and we
don't need 4096 reminders... ;-)

Signed-off-by: Mike Travis <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Roland Dreier <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Yinghai Lu <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Rusty Russell <[email protected]>
Cc: Hidetoshi Seto <[email protected]>
Cc: Jack Steiner <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
Mike Travis authored and Ingo Molnar committed Nov 26, 2009
1 parent ba5ea95 commit feae320
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 12 deletions.
24 changes: 15 additions & 9 deletions init/calibrate.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,23 +123,26 @@ void __cpuinit calibrate_delay(void)
{
unsigned long ticks, loopbit;
int lps_precision = LPS_PREC;
static bool printed;

if (preset_lpj) {
loops_per_jiffy = preset_lpj;
printk(KERN_INFO
"Calibrating delay loop (skipped) preset value.. ");
} else if ((smp_processor_id() == 0) && lpj_fine) {
if (!printed)
pr_info("Calibrating delay loop (skipped) "
"preset value.. ");
} else if ((!printed) && lpj_fine) {
loops_per_jiffy = lpj_fine;
printk(KERN_INFO
"Calibrating delay loop (skipped), "
pr_info("Calibrating delay loop (skipped), "
"value calculated using timer frequency.. ");
} else if ((loops_per_jiffy = calibrate_delay_direct()) != 0) {
printk(KERN_INFO
"Calibrating delay using timer specific routine.. ");
if (!printed)
pr_info("Calibrating delay using timer "
"specific routine.. ");
} else {
loops_per_jiffy = (1<<12);

printk(KERN_INFO "Calibrating delay loop... ");
if (!printed)
pr_info("Calibrating delay loop... ");
while ((loops_per_jiffy <<= 1) != 0) {
/* wait for "start of" clock tick */
ticks = jiffies;
Expand Down Expand Up @@ -170,7 +173,10 @@ void __cpuinit calibrate_delay(void)
loops_per_jiffy &= ~loopbit;
}
}
printk(KERN_CONT "%lu.%02lu BogoMIPS (lpj=%lu)\n",
if (!printed)
pr_cont("%lu.%02lu BogoMIPS (lpj=%lu)\n",
loops_per_jiffy/(500000/HZ),
(loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);

printed = true;
}
5 changes: 2 additions & 3 deletions kernel/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,10 +392,9 @@ int disable_nonboot_cpus(void)
if (cpu == first_cpu)
continue;
error = _cpu_down(cpu, 1);
if (!error) {
if (!error)
cpumask_set_cpu(cpu, frozen_cpus);
printk("CPU%d is down\n", cpu);
} else {
else {
printk(KERN_ERR "Error taking CPU%d down: %d\n",
cpu, error);
break;
Expand Down

0 comments on commit feae320

Please sign in to comment.