diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches-rt/0048-printk-Add-kthread-for-all-legacy-consoles.patch (renamed from debian/patches-rt/0132-printk-Add-kthread-for-all-legacy-consoles.patch) | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/debian/patches-rt/0132-printk-Add-kthread-for-all-legacy-consoles.patch b/debian/patches-rt/0048-printk-Add-kthread-for-all-legacy-consoles.patch index 7c46be7133..73a0c337be 100644 --- a/debian/patches-rt/0132-printk-Add-kthread-for-all-legacy-consoles.patch +++ b/debian/patches-rt/0048-printk-Add-kthread-for-all-legacy-consoles.patch @@ -1,7 +1,7 @@ From: John Ogness <john.ogness@linutronix.de> Date: Fri, 22 Sep 2023 17:35:04 +0000 -Subject: [PATCH 132/134] printk: Add kthread for all legacy consoles -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz +Subject: [PATCH 48/50] printk: Add kthread for all legacy consoles +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.7/older/patches-6.7-rt6.tar.xz The write callback of legacy consoles make use of spinlocks. This is not permitted with PREEMPT_RT in atomic contexts. @@ -85,7 +85,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /* All 3 protected by @syslog_lock. */ /* the next printk record to read by syslog(READ) or /proc/kmsg */ static u64 syslog_seq; -@@ -2345,7 +2348,8 @@ asmlinkage int vprintk_emit(int facility +@@ -2344,7 +2347,8 @@ asmlinkage int vprintk_emit(int facility const struct dev_printk_info *dev_info, const char *fmt, va_list args) { @@ -95,7 +95,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> int printed_len; /* Suppress unimportant messages after panic happens */ -@@ -2473,6 +2477,14 @@ EXPORT_SYMBOL(_printk); +@@ -2472,6 +2476,14 @@ EXPORT_SYMBOL(_printk); static bool pr_flush(int timeout_ms, bool reset_on_progress); static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress); @@ -110,7 +110,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> #else /* CONFIG_PRINTK */ #define printk_time false -@@ -2486,6 +2498,8 @@ static u64 syslog_seq; +@@ -2485,6 +2497,8 @@ static u64 syslog_seq; static bool pr_flush(int timeout_ms, bool reset_on_progress) { return true; } static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress) { return true; } @@ -119,7 +119,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> #endif /* CONFIG_PRINTK */ #ifdef CONFIG_EARLY_PRINTK -@@ -2723,6 +2737,8 @@ void resume_console(void) +@@ -2730,6 +2744,8 @@ void resume_console(void) } console_srcu_read_unlock(cookie); @@ -128,7 +128,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> pr_flush(1000, true); } -@@ -2737,7 +2753,8 @@ void resume_console(void) +@@ -2744,7 +2760,8 @@ void resume_console(void) */ static int console_cpu_notify(unsigned int cpu) { @@ -138,7 +138,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /* If trylock fails, someone else is doing the printing */ if (console_trylock()) console_unlock(); -@@ -2962,31 +2979,43 @@ static bool console_emit_next_record(str +@@ -2969,31 +2986,43 @@ static bool console_emit_next_record(str con->dropped = 0; } @@ -202,7 +202,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> skip: return true; } -@@ -3096,19 +3125,7 @@ static bool console_flush_all(bool do_co +@@ -3103,19 +3132,7 @@ static bool console_flush_all(bool do_co return false; } @@ -223,7 +223,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> { bool do_cond_resched; bool handover; -@@ -3152,6 +3169,32 @@ void console_unlock(void) +@@ -3159,6 +3176,32 @@ void console_unlock(void) */ } while (prb_read_valid(prb, next_seq, NULL) && console_trylock()); } @@ -256,7 +256,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> EXPORT_SYMBOL(console_unlock); /** -@@ -3361,11 +3404,106 @@ void console_start(struct console *conso +@@ -3368,11 +3411,106 @@ void console_start(struct console *conso if (flags & CON_NBCON) nbcon_kthread_wake(console); @@ -363,7 +363,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> static int __read_mostly keep_bootcon; static int __init keep_bootcon_setup(char *str) -@@ -3632,6 +3770,7 @@ void register_console(struct console *ne +@@ -3639,6 +3777,7 @@ void register_console(struct console *ne nbcon_init(newcon); } else { have_legacy_console = true; @@ -371,7 +371,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> } if (newcon->flags & CON_BOOT) -@@ -3770,6 +3909,13 @@ static int unregister_console_locked(str +@@ -3777,6 +3916,13 @@ static int unregister_console_locked(str nbcon_kthread_create(c); } @@ -385,7 +385,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> return res; } -@@ -3929,8 +4075,12 @@ static bool __pr_flush(struct console *c +@@ -3936,8 +4082,12 @@ static bool __pr_flush(struct console *c seq = prb_next_reserve_seq(prb); @@ -400,7 +400,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> console_lock(); console_unlock(); } -@@ -4038,9 +4188,16 @@ static void wake_up_klogd_work_func(stru +@@ -4045,9 +4195,16 @@ static void wake_up_klogd_work_func(stru int pending = this_cpu_xchg(printk_pending, 0); if (pending & PRINTK_PENDING_OUTPUT) { |