Two commits from rt-kernel cause the following disorder log at the early stage of boot with qemux86-64. Maybe it has other disorder logs which I omit.
Commits: 7128a815: printk: introduce emergency messages b9d460e4: serial: 8250: implement write_atomic [ 0.401166] 000: 6200.04 BogoMIPS (lpj=3100023) [ 0.877953] 000: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz [ 0.877953] 000: (family: 0x6, model: 0xf [ 0.877953] 000: , stepping: 0xb) [ 1.255009] 000: 5 [ 1.255167] 000: *10 [ 1.255295] 000: 11 [ 1.255406] 000: ) Obviously, the printk emergency mechanism doesn't work as expected. Removing partial code of printk emergency mechanism can fix the issue temporarily. Signed-off-by: Hongzhi.Song <[email protected]> --- kernel/printk/printk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 997d07b..99d4a94 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1726,6 +1726,7 @@ static void call_console_drivers(u64 seq, const char *ext_text, size_t ext_len, con->wrote_history = 1; con->printk_seq = seq - 1; } +#if 0 if (con->write_atomic && level < emergency_console_loglevel && facility == 0) { /* skip emergency messages, already printed */ @@ -1733,6 +1734,7 @@ static void call_console_drivers(u64 seq, const char *ext_text, size_t ext_len, con->printk_seq = seq; continue; } +#endif if (con->flags & CON_BOOT && facility == 0) { /* skip emergency messages, already printed */ if (con->printk_seq < seq) @@ -3134,10 +3136,12 @@ static void call_emergency_console_drivers(int level, const char *text, for_each_console(con) { if (!(con->flags & CON_ENABLED)) continue; +#if 0 if (con->write_atomic && level < emergency_console_loglevel) { con->write_atomic(con, text, text_len); continue; } +#endif if (con->write && (con->flags & CON_BOOT)) { con->write(con, text, text_len); continue; -- 2.8.1 -- _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
