summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0038-printk-nbcon-Start-printing-threads.patch
diff options
context:
space:
mode:
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