Re: [PATCH 6/9] printk/nbcon: use panic_on_this_cpu() helper
From: John Ogness
Date: Mon Aug 25 2025 - 05:58:04 EST
On 2025-08-20, Jinchao Wang <wangjinchao600@xxxxxxxxx> wrote:
> nbcon_context_try_acquire() compared
> panic_cpu directly with smp_processor_id().
> This open-coded check is now provided by
> panic_on_this_cpu().
>
> Switch to panic_on_this_cpu() to simplify
> the code and improve readability.
>
> Signed-off-by: Jinchao Wang <wangjinchao600@xxxxxxxxx>
> ---
> kernel/printk/nbcon.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c
> index 646801813415..7490865e2f44 100644
> --- a/kernel/printk/nbcon.c
> +++ b/kernel/printk/nbcon.c
> @@ -2,6 +2,7 @@
> // Copyright (C) 2022 Linutronix GmbH, John Ogness
> // Copyright (C) 2022 Intel, Thomas Gleixner
>
> +#include "linux/panic.h"
> #include <linux/atomic.h>
> #include <linux/bug.h>
> #include <linux/console.h>
Please use angle brackets. Also, the includes are sorted
alphabetically. So it should look like this:
#include <linux/irqflags.h>
#include <linux/kthread.h>
#include <linux/minmax.h>
+#include <linux/panic.h>
#include <linux/percpu.h>
#include <linux/preempt.h>
#include <linux/slab.h>
> @@ -589,7 +590,6 @@ static struct printk_buffers panic_nbcon_pbufs;
> */
> static bool nbcon_context_try_acquire(struct nbcon_context *ctxt, bool is_reacquire)
> {
> - unsigned int cpu = smp_processor_id();
> struct console *con = ctxt->console;
> struct nbcon_state cur;
> int err;
> @@ -614,7 +614,7 @@ static bool nbcon_context_try_acquire(struct nbcon_context *ctxt, bool is_reacqu
> /* Acquire succeeded. */
>
> /* Assign the appropriate buffer for this context. */
> - if (atomic_read(&panic_cpu) == cpu)
> + if (panic_on_this_cpu())
> ctxt->pbufs = &panic_nbcon_pbufs;
> else
> ctxt->pbufs = con->pbufs;
With the above changes:
Reviewed-by: John Ogness <john.ogness@xxxxxxxxxxxxx>