From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org
Subject: [PATCH printk v2 5/5] printk: Rename abandon_console_lock_in_panic() to other_cpu_in_panic()
Date: Mon, 10 Jul 2023 15:51:24 +0206 [thread overview]
Message-ID: <20230710134524.25232-6-john.ogness@linutronix.de> (raw)
In-Reply-To: <20230710134524.25232-1-john.ogness@linutronix.de>
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>
---
kernel/printk/internal.h | 2 ++
kernel/printk/printk.c | 15 ++++++++-------
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/kernel/printk/internal.h b/kernel/printk/internal.h
index 2a17704136f1..7d4979d5c3ce 100644
--- a/kernel/printk/internal.h
+++ b/kernel/printk/internal.h
@@ -103,3 +103,5 @@ struct printk_message {
u64 seq;
unsigned long dropped;
};
+
+bool other_cpu_in_panic(void);
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 701908d389f4..529671aaec2d 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -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)
--
2.30.2
next prev parent reply other threads:[~2023-07-10 13:45 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-10 13:45 [PATCH printk v2 0/5] various cleanups John Ogness
2023-07-10 13:45 ` [PATCH printk v2 1/5] kdb: do not assume write() callback available John Ogness
2023-07-11 0:25 ` Sergey Senozhatsky
2023-07-11 8:23 ` Daniel Thompson
2023-07-11 8:58 ` John Ogness
2023-07-11 9:01 ` Daniel Thompson
2023-07-10 13:45 ` [PATCH printk v2 2/5] printk: Add NMI safety to console_flush_on_panic() and console_unblank() John Ogness
2023-07-11 15:43 ` Petr Mladek
2023-07-11 16:07 ` Sergey Senozhatsky
2023-07-12 21:11 ` John Ogness
2023-07-13 14:43 ` Petr Mladek
2023-07-14 4:00 ` Sergey Senozhatsky
2023-07-14 9:41 ` Petr Mladek
2023-07-10 13:45 ` [PATCH printk v2 3/5] printk: Consolidate console deferred printing John Ogness
2023-07-11 15:17 ` Sergey Senozhatsky
2023-07-13 14:51 ` Petr Mladek
2023-07-10 13:45 ` [PATCH printk v2 4/5] printk: Add per-console suspended state John Ogness
2023-07-11 15:08 ` Sergey Senozhatsky
2023-07-11 15:23 ` John Ogness
2023-07-11 15:26 ` Sergey Senozhatsky
2023-07-11 15:30 ` Sergey Senozhatsky
2023-07-13 15:53 ` Petr Mladek
2023-07-10 13:45 ` John Ogness [this message]
2023-07-11 0:22 ` [PATCH printk v2 5/5] printk: Rename abandon_console_lock_in_panic() to other_cpu_in_panic() Sergey Senozhatsky
2023-07-13 15:55 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230710134524.25232-6-john.ogness@linutronix.de \
--to=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®