Messages in this thread Patch in this message | | | Date | Thu, 4 May 2006 03:24:16 -0700 | From | Tony Lindgren <> | Subject | [PATCH] Fix CONFIG_PRINTK_TIME hangs on some systems |
| |
Hi all,
This issue has been discussed earlier on LKML, but AFAIK there has not been any better solution available:
http://lkml.org/lkml/2005/8/18/173
Regards,
Tony Fix CONFIG_PRINTK_TIME hangs on systems where sched_clock() does not work before timer is initialized.
Signed-off-by: Tony Lindgren <tony@atomide.com>
--- a/kernel/printk.c +++ b/kernel/printk.c @@ -431,11 +431,23 @@ static void zap_locks(void) init_MUTEX(&console_sem); } -#if defined(CONFIG_PRINTK_TIME) -static int printk_time = 1; -#else static int printk_time = 0; -#endif + +#ifdef CONFIG_PRINTK_TIME + +/* + * Initialize printk time. Note that on some systems sched_clock() + * does not work until timer is initialized. + */ +static int __init printk_time_init(void) +{ + printk_time = 1; + + return 0; +} +subsys_initcall(printk_time_init); + +#else static int __init printk_time_setup(char *str) { @@ -447,6 +459,8 @@ static int __init printk_time_setup(char __setup("time", printk_time_setup); +#endif + __attribute__((weak)) unsigned long long printk_clock(void) { return sched_clock(); | |