Please merge to v5.0/standard/preempt-rt/base and v5.0/standard/preempt-rt/intel-x86

--Hongzhi


On 4/23/19 11:14 AM, Hongzhi.Song wrote:
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 <hongzhi.s...@windriver.com>
---
  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;
--
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to