diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches-rt/0029-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch (renamed from debian/patches-rt/0113-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch) | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/debian/patches-rt/0113-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch b/debian/patches-rt/0029-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch index a733638677..a0be40fe7b 100644 --- a/debian/patches-rt/0113-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch +++ b/debian/patches-rt/0029-printk-Avoid-console_lock-dance-if-no-legacy-or-boot.patch @@ -1,8 +1,8 @@ From: John Ogness <john.ogness@linutronix.de> Date: Tue, 26 Sep 2023 12:44:07 +0000 -Subject: [PATCH 113/134] printk: Avoid console_lock dance if no legacy or boot +Subject: [PATCH 29/50] printk: Avoid console_lock dance if no legacy or boot consoles -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.7/older/patches-6.7-rt6.tar.xz Currently the console lock is used to attempt legacy-type printing even if there are no legacy or boot consoles registered. @@ -69,7 +69,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> * Specifies if a boot console is registered. If boot consoles are present, * nbcon consoles cannot print simultaneously and must be synchronized by * the console lock. This is because boot consoles and nbcon consoles may -@@ -2345,7 +2352,7 @@ asmlinkage int vprintk_emit(int facility +@@ -2344,7 +2351,7 @@ asmlinkage int vprintk_emit(int facility printed_len = vprintk_store(facility, level, dev_info, fmt, args); /* If called from the scheduler, we can not call up(). */ @@ -78,7 +78,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /* * The caller may be holding system-critical or * timing-sensitive locks. Disable preemption during -@@ -2646,7 +2653,7 @@ void resume_console(void) +@@ -2653,7 +2660,7 @@ void resume_console(void) */ static int console_cpu_notify(unsigned int cpu) { @@ -87,7 +87,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /* If trylock fails, someone else is doing the printing */ if (console_trylock()) console_unlock(); -@@ -3189,7 +3196,8 @@ void console_flush_on_panic(enum con_flu +@@ -3196,7 +3203,8 @@ void console_flush_on_panic(enum con_flu nbcon_atomic_flush_all(); @@ -97,7 +97,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> } /* -@@ -3514,8 +3522,11 @@ void register_console(struct console *ne +@@ -3521,8 +3529,11 @@ void register_console(struct console *ne newcon->dropped = 0; console_init_seq(newcon, bootcon_registered); @@ -110,7 +110,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> if (newcon->flags & CON_BOOT) have_boot_console = true; -@@ -3572,6 +3583,7 @@ EXPORT_SYMBOL(register_console); +@@ -3579,6 +3590,7 @@ EXPORT_SYMBOL(register_console); /* Must be called under console_list_lock(). */ static int unregister_console_locked(struct console *console) { @@ -118,7 +118,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> bool found_boot_con = false; struct console *c; int res; -@@ -3628,9 +3640,13 @@ static int unregister_console_locked(str +@@ -3635,9 +3647,13 @@ static int unregister_console_locked(str for_each_console(c) { if (c->flags & CON_BOOT) found_boot_con = true; @@ -132,7 +132,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> return res; } -@@ -3782,6 +3798,7 @@ static bool __pr_flush(struct console *c +@@ -3789,6 +3805,7 @@ static bool __pr_flush(struct console *c u64 last_diff = 0; u64 printk_seq; short flags; @@ -140,7 +140,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> int cookie; u64 diff; u64 seq; -@@ -3791,22 +3808,28 @@ static bool __pr_flush(struct console *c +@@ -3798,22 +3815,28 @@ static bool __pr_flush(struct console *c seq = prb_next_reserve_seq(prb); /* Flush the consoles so that records up to @seq are printed. */ @@ -178,7 +178,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> cookie = console_srcu_read_lock(); for_each_console_srcu(c) { -@@ -3826,6 +3849,7 @@ static bool __pr_flush(struct console *c +@@ -3833,6 +3856,7 @@ static bool __pr_flush(struct console *c if (flags & CON_NBCON) { printk_seq = nbcon_seq_read(c); } else { @@ -186,7 +186,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> printk_seq = c->seq; } -@@ -3837,7 +3861,8 @@ static bool __pr_flush(struct console *c +@@ -3844,7 +3868,8 @@ static bool __pr_flush(struct console *c if (diff != last_diff && reset_on_progress) remaining_jiffies = timeout_jiffies; @@ -196,7 +196,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> /* Note: @diff is 0 if there are no usable consoles. */ if (diff == 0 || remaining_jiffies == 0) -@@ -3959,7 +3984,11 @@ void defer_console_output(void) +@@ -3966,7 +3991,11 @@ void defer_console_output(void) * New messages may have been added directly to the ringbuffer * using vprintk_store(), so wake any waiters as well. */ |