[PATCH] make boot_delay use loops_per_jiffy directly

From: Dave Young
Date: Tue Feb 26 2008 - 23:37:44 EST


Make printk boot_delay use loops_per_jiffy directly,
declare preset_lpj as static, and set lpj value to loops_per_jiffy in lpj_setup.

Signed-off-by: Dave Young <hidave.darkstar@xxxxxxxxx>

---
init/calibrate.c | 6 +++---
kernel/printk.c | 15 ++++-----------
2 files changed, 7 insertions(+), 14 deletions(-)

diff -upr linux/init/calibrate.c linux.new/init/calibrate.c
--- linux/init/calibrate.c 2008-02-27 10:54:15.000000000 +0800
+++ linux.new/init/calibrate.c 2008-02-27 12:32:11.000000000 +0800
@@ -9,10 +9,11 @@
#include <linux/init.h>
#include <linux/timex.h>

-unsigned long preset_lpj;
+static unsigned long preset_lpj;
static int __init lpj_setup(char *str)
{
- preset_lpj = simple_strtoul(str,NULL,0);
+ loops_per_jiffy = simple_strtoul(str, NULL, 0);
+ preset_lpj = 1;
return 1;
}

@@ -117,7 +118,6 @@ void __cpuinit calibrate_delay(void)
int lps_precision = LPS_PREC;

if (preset_lpj) {
- loops_per_jiffy = preset_lpj;
printk("Calibrating delay loop (skipped)... "
"%lu.%02lu BogoMIPS preset\n",
loops_per_jiffy/(500000/HZ),
diff -upr linux/kernel/printk.c linux.new/kernel/printk.c
--- linux/kernel/printk.c 2008-02-27 12:30:43.000000000 +0800
+++ linux.new/kernel/printk.c 2008-02-27 12:32:22.000000000 +0800
@@ -173,24 +173,14 @@ __setup("log_buf_len=", log_buf_len_setu
#ifdef CONFIG_BOOT_PRINTK_DELAY

static unsigned int boot_delay; /* msecs delay after each printk during bootup */
-static unsigned long long printk_delay_msec; /* per msec, based on boot_delay */

static int __init boot_delay_setup(char *str)
{
- unsigned long lpj;
- unsigned long long loops_per_msec;
-
- lpj = preset_lpj ? preset_lpj : 1000000; /* some guess */
- loops_per_msec = (unsigned long long)lpj / 1000 * HZ;
-
get_option(&str, &boot_delay);
if (boot_delay > 10 * 1000)
boot_delay = 0;

- printk_delay_msec = loops_per_msec;
- printk(KERN_DEBUG "boot_delay: %u, preset_lpj: %ld, lpj: %lu, "
- "HZ: %d, printk_delay_msec: %llu\n",
- boot_delay, preset_lpj, lpj, HZ, printk_delay_msec);
+ printk(KERN_DEBUG "boot_delay: %u\n", boot_delay);
return 1;
}
__setup("boot_delay=", boot_delay_setup);
@@ -199,6 +189,9 @@ static void boot_delay_msec(void)
{
unsigned long long k;
unsigned long timeout;
+ unsigned long long printk_delay_msec;
+
+ printk_delay_msec = (unsigned long long)loops_per_jiffy / 1000 * HZ;

if (boot_delay == 0 || system_state != SYSTEM_BOOTING)
return;
--
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/