From: Baoquan He <bhe@redhat.com>
To: Jinchao Wang <wangjinchao600@gmail.com>
Cc: pmladek@suse.com, akpm@linux-foundation.org,
Vivek Goyal <vgoyal@redhat.com>, Dave Young <dyoung@redhat.com>,
linux-kernel@vger.kernel.org, feng.tang@linux.alibaba.com,
joel.granados@kernel.org, john.ogness@linutronix.de,
namcao@linutronix.de, sravankumarlpu@gmail.com,
kexec@lists.infradead.org
Subject: Re: [PATCH 3/9] crash_core: use panic_try_start() in crash_kexec()
Date: Thu, 21 Aug 2025 10:43:10 +0800 [thread overview]
Message-ID: <aKaHvnxEaXF/fLnW@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20250820091702.512524-4-wangjinchao600@gmail.com>
On 08/20/25 at 05:14pm, Jinchao Wang wrote:
> crash_kexec() had its own code to exclude
> parallel execution by setting panic_cpu.
> This is already handled by panic_try_start().
>
> Switch to panic_try_start() to remove the
> duplication and keep the logic consistent.
>
> Signed-off-by: Jinchao Wang <wangjinchao600@gmail.com>
I had to use b4 to grab back the whole patchset, but I can't comment on
other patches, especially the patch 1.
Firstly, this series looks interesting. It does enhance code
readibility. But I am a vim user, I like open code on this one line of
code wrapping. So leave this to other reviewers to decide if this should
be accepted.
Secondly, the lines of your patch log are too short, it's not convenient
for reading. Can you set your mail writer to change this.
Thirdly, please add people to CC in all patches. I don't know why you
only CC me in patch 3 if the whole patchset is related to crash and
panic.
Thanks
Baoquan
> ---
> kernel/crash_core.c | 15 +++------------
> 1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/kernel/crash_core.c b/kernel/crash_core.c
> index a4ef79591eb2..bb38bbaf3a26 100644
> --- a/kernel/crash_core.c
> +++ b/kernel/crash_core.c
> @@ -4,6 +4,7 @@
> * Copyright (C) 2002-2004 Eric Biederman <ebiederm@xmission.com>
> */
>
> +#include "linux/panic.h"
> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>
> #include <linux/buildid.h>
> @@ -143,17 +144,7 @@ STACK_FRAME_NON_STANDARD(__crash_kexec);
>
> __bpf_kfunc void crash_kexec(struct pt_regs *regs)
> {
> - int old_cpu, this_cpu;
> -
> - /*
> - * Only one CPU is allowed to execute the crash_kexec() code as with
> - * panic(). Otherwise parallel calls of panic() and crash_kexec()
> - * may stop each other. To exclude them, we use panic_cpu here too.
> - */
> - old_cpu = PANIC_CPU_INVALID;
> - this_cpu = raw_smp_processor_id();
> -
> - if (atomic_try_cmpxchg(&panic_cpu, &old_cpu, this_cpu)) {
> + if (panic_try_start()) {
> /* This is the 1st CPU which comes here, so go ahead. */
> __crash_kexec(regs);
>
> @@ -161,7 +152,7 @@ __bpf_kfunc void crash_kexec(struct pt_regs *regs)
> * Reset panic_cpu to allow another panic()/crash_kexec()
> * call.
> */
> - atomic_set(&panic_cpu, PANIC_CPU_INVALID);
> + panic_reset();
> }
> }
>
> --
> 2.43.0
>
next prev parent reply other threads:[~2025-08-21 2:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-20 9:14 [PATCH 0/9] panic: introduce panic status function family Jinchao Wang
2025-08-20 9:14 ` [PATCH 1/9] panic: Introduce helper functions for panic state Jinchao Wang
2025-08-20 9:14 ` [PATCH 2/9] fbdev: Use panic_in_progress() helper Jinchao Wang
2025-08-20 9:14 ` [PATCH 3/9] crash_core: use panic_try_start() in crash_kexec() Jinchao Wang
2025-08-20 9:14 ` [PATCH 4/9] panic: use panic_try_start() in nmi_panic() Jinchao Wang
2025-08-20 9:14 ` [PATCH 5/9] panic: use panic_try_start() in vpanic() Jinchao Wang
2025-08-20 9:14 ` [PATCH 6/9] printk/nbcon: use panic_on_this_cpu() helper Jinchao Wang
2025-08-20 9:14 ` [PATCH 7/9] panic/printk: replace this_cpu_in_panic() with panic_on_this_cpu() Jinchao Wang
2025-08-20 9:14 ` [PATCH 8/9] panic/printk: replace other_cpu_in_panic() with panic_on_other_cpu() Jinchao Wang
2025-08-20 9:14 ` [PATCH 9/9] watchdog: skip checks when panic is in progress Jinchao Wang
2025-08-20 15:18 ` Yury Norov
2025-08-21 1:29 ` Jinchao Wang
2025-08-25 10:05 ` [PATCH 8/9] panic/printk: replace other_cpu_in_panic() with panic_on_other_cpu() John Ogness
2025-08-25 9:53 ` [PATCH 6/9] printk/nbcon: use panic_on_this_cpu() helper John Ogness
2025-08-26 0:58 ` Jinchao Wang
2025-08-20 13:35 ` [PATCH 3/9] crash_core: use panic_try_start() in crash_kexec() Baoquan He
2025-08-20 13:43 ` Baoquan He
2025-08-21 2:43 ` Baoquan He [this message]
2025-08-21 3:41 ` Jinchao Wang
2025-08-20 10:44 ` [PATCH 2/9] fbdev: Use panic_in_progress() helper Qianqiang Liu
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=aKaHvnxEaXF/fLnW@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=dyoung@redhat.com \
--cc=feng.tang@linux.alibaba.com \
--cc=joel.granados@kernel.org \
--cc=john.ogness@linutronix.de \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=namcao@linutronix.de \
--cc=pmladek@suse.com \
--cc=sravankumarlpu@gmail.com \
--cc=vgoyal@redhat.com \
--cc=wangjinchao600@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).