printk: Rename abandon_console_lock_in_panic() to other_cpu_in_panic()
authorJohn Ogness <john.ogness@linutronix.de>
Mon, 17 Jul 2023 19:46:07 +0000 (21:52 +0206)
committerPetr Mladek <pmladek@suse.com>
Thu, 20 Jul 2023 11:06:22 +0000 (13:06 +0200)
Currently abandon_console_lock_in_panic() is only used to determine if
the current CPU should immediately release the console lock because
another CPU is in panic. However, later this function will be used by
the CPU to immediately release other resources in this situation.

Rename the function to other_cpu_in_panic(), which is a better
description and does not assume it is related to the console lock.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20230717194607.145135-8-john.ogness@linutronix.de
kernel/printk/internal.h
kernel/printk/printk.c

index 2a17704136f1dbbb3394a73813a4de40873d684b..7d4979d5c3ce6f1ded693de5f44df1db12e7d389 100644 (file)
@@ -103,3 +103,5 @@ struct printk_message {
        u64                     seq;
        unsigned long           dropped;
 };
+
+bool other_cpu_in_panic(void);
index efe577477913718a324e8764a228a38bf7b859b7..8787d3a72114651ae68f8a6c93eeec1f3fc062c9 100644 (file)
@@ -2612,11 +2612,12 @@ static int console_cpu_notify(unsigned int cpu)
 }
 
 /*
- * Return true when this CPU should unlock console_sem without pushing all
- * messages to the console. This reduces the chance that the console is
- * locked when the panic CPU tries to use it.
+ * Return true if a panic is in progress on a remote CPU.
+ *
+ * On true, the local CPU should immediately release any printing resources
+ * that may be needed by the panic CPU.
  */
-static bool abandon_console_lock_in_panic(void)
+bool other_cpu_in_panic(void)
 {
        if (!panic_in_progress())
                return false;
@@ -2643,7 +2644,7 @@ void console_lock(void)
        might_sleep();
 
        /* On panic, the console_lock must be left to the panic cpu. */
-       while (abandon_console_lock_in_panic())
+       while (other_cpu_in_panic())
                msleep(1000);
 
        down_console_sem();
@@ -2663,7 +2664,7 @@ EXPORT_SYMBOL(console_lock);
 int console_trylock(void)
 {
        /* On panic, the console_lock must be left to the panic cpu. */
-       if (abandon_console_lock_in_panic())
+       if (other_cpu_in_panic())
                return 0;
        if (down_trylock_console_sem())
                return 0;
@@ -2978,7 +2979,7 @@ static bool console_flush_all(bool do_cond_resched, u64 *next_seq, bool *handove
                        any_progress = true;
 
                        /* Allow panic_cpu to take over the consoles safely. */
-                       if (abandon_console_lock_in_panic())
+                       if (other_cpu_in_panic())
                                goto abandon;
 
                        if (do_cond_resched)