diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches-rt/0038-printk-nbcon-Start-printing-threads.patch (renamed from debian/patches-rt/0042-printk-nbcon-Start-printing-threads.patch) | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/debian/patches-rt/0042-printk-nbcon-Start-printing-threads.patch b/debian/patches-rt/0038-printk-nbcon-Start-printing-threads.patch index 8360fe1876..63aae75ebb 100644 --- a/debian/patches-rt/0042-printk-nbcon-Start-printing-threads.patch +++ b/debian/patches-rt/0038-printk-nbcon-Start-printing-threads.patch @@ -1,7 +1,7 @@ From: John Ogness <john.ogness@linutronix.de> Date: Tue, 5 Dec 2023 14:09:31 +0000 -Subject: [PATCH 42/50] printk: nbcon: Start printing threads -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.7/older/patches-6.7-rt6.tar.xz +Subject: [PATCH 38/48] printk: nbcon: Start printing threads +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz If there are no boot consoles, the printing threads are started in early_initcall. @@ -25,25 +25,25 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- a/kernel/printk/internal.h +++ b/kernel/printk/internal.h -@@ -44,6 +44,7 @@ enum printk_info_flags { - }; +@@ -48,6 +48,7 @@ struct printk_ringbuffer; + struct dev_printk_info; extern struct printk_ringbuffer *prb; +extern bool printk_threads_enabled; - extern bool have_legacy_console; - extern bool have_boot_console; -@@ -161,6 +162,7 @@ static inline void nbcon_kthread_wake(st + __printf(4, 0) + int vprintk_store(int facility, int level, +@@ -159,6 +160,7 @@ static inline void nbcon_kthread_wake(st static inline void nbcon_kthread_wake(struct console *con) { } static inline void nbcon_kthread_create(struct console *con) { } +#define printk_threads_enabled (false) - #define printing_via_unlock (false) /* + * In !PRINTK builds we still export console_sem --- a/kernel/printk/nbcon.c +++ b/kernel/printk/nbcon.c -@@ -205,6 +205,8 @@ static void nbcon_seq_try_update(struct +@@ -213,6 +213,8 @@ static void nbcon_seq_try_update(struct } } @@ -52,7 +52,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /** * nbcon_context_try_acquire_direct - Try to acquire directly * @ctxt: The context of the caller -@@ -1401,7 +1403,7 @@ void nbcon_kthread_create(struct console +@@ -1436,7 +1438,7 @@ void nbcon_kthread_create(struct console if (!(con->flags & CON_NBCON) || !con->write_thread) return; @@ -61,7 +61,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> return; /* -@@ -1427,6 +1429,19 @@ void nbcon_kthread_create(struct console +@@ -1462,6 +1464,19 @@ void nbcon_kthread_create(struct console sched_set_normal(con->kthread, -20); } @@ -81,9 +81,9 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /** * nbcon_alloc - Allocate buffers needed by the nbcon console * @con: Console to allocate buffers for -@@ -1477,6 +1492,7 @@ void nbcon_init(struct console *con) +@@ -1510,6 +1525,7 @@ void nbcon_init(struct console *con) init_irq_work(&con->irq_work, nbcon_irq_work); - nbcon_seq_force(con, con->seq); + nbcon_seq_force(con, 0); nbcon_state_set(con, &state); + nbcon_kthread_create(con); } @@ -91,7 +91,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /** --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -2388,6 +2388,9 @@ asmlinkage int vprintk_emit(int facility +@@ -2402,6 +2402,9 @@ asmlinkage int vprintk_emit(int facility * * - When this CPU is in panic. * @@ -101,15 +101,15 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> * - During shutdown, since the printing threads may not get * a chance to print the final messages. * -@@ -2397,6 +2400,7 @@ asmlinkage int vprintk_emit(int facility - * with boot consoles. +@@ -2410,6 +2413,7 @@ asmlinkage int vprintk_emit(int facility + * consoles cannot print simultaneously with boot consoles. */ if (is_panic_context || + !printk_threads_enabled || (system_state > SYSTEM_RUNNING)) { - nbcon_atomic_flush_all(); + nbcon_atomic_flush_pending(); } -@@ -3692,6 +3696,7 @@ EXPORT_SYMBOL(register_console); +@@ -3726,6 +3730,7 @@ EXPORT_SYMBOL(register_console); /* Must be called under console_list_lock(). */ static int unregister_console_locked(struct console *console) { @@ -117,9 +117,9 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> bool found_legacy_con = false; bool found_nbcon_con = false; bool found_boot_con = false; -@@ -3763,6 +3768,15 @@ static int unregister_console_locked(str +@@ -3797,6 +3802,15 @@ static int unregister_console_locked(str if (!found_nbcon_con) - have_nbcon_console = false; + have_nbcon_console = found_nbcon_con; + /* + * When the last boot console unregisters, start up the |