public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Waiman Long <llong@redhat.com>, Waiman Long <llong@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v2] x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus()
Date: Thu, 05 Dec 2024 19:17:55 +0100	[thread overview]
Message-ID: <87ikryq9ik.ffs@tglx> (raw)
In-Reply-To: <1166fd72-8a4a-489f-9de5-7c06b70b0ad4@redhat.com>

On Thu, Dec 05 2024 at 08:22, Waiman Long wrote:
> On 12/5/24 8:12 AM, Thomas Gleixner wrote:
>>> Actually, crash_nmi_callback() can return in the case of the crashing
>>> CPUs, though all the other CPUs will not return once called. So I
>>> believe the current form is correct. I will update the comment to
>>> reflect that.
>> Why would you continue servicing the NMI on a CPU which just crashed?
>
> According to crash_nmi_callback(),
>
>          /*
>           * Don't do anything if this handler is invoked on crashing cpu.
>           * Otherwise, system will completely hang. Crashing cpu can get
>           * an NMI if system was initially booted with nmi_watchdog 
> parameter.
>           */
>          if (cpu == crashing_cpu)
>                  return NMI_HANDLED;
>
> The crashing CPU still has work to do after shutting down other CPUs. It 
> can't wait there forever without completing other crashing actions. The 
> only thing I can see we can do is to return immediately without 
> servicing other less important nmi handlers in the list.

I understand that, but in case that the crashed CPU receives an NMI and
sees that the emergency handler is set, shouldn't it stop the NMI
processing instead of trying to go through perf and what not when the
system is already in a fragile state. i.e.:

       if (emergemcy_handler) {
          emergency_handler();
          return;
       }

Thanks,

        tglx

  parent reply	other threads:[~2024-12-05 18:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-03 15:07 [PATCH v2] x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus() Waiman Long
2024-12-04  1:00 ` Rik van Riel
2024-12-04  1:39   ` Waiman Long
2024-12-04  7:58 ` kernel test robot
2024-12-04 13:10 ` Thomas Gleixner
2024-12-04 17:23   ` Waiman Long
2024-12-04 18:03     ` Thomas Gleixner
2024-12-04 19:28       ` Waiman Long
2024-12-05  4:01         ` Waiman Long
2024-12-05 13:12           ` Thomas Gleixner
     [not found]             ` <1166fd72-8a4a-489f-9de5-7c06b70b0ad4@redhat.com>
2024-12-05 18:17               ` Thomas Gleixner [this message]
2024-12-06  4:16                 ` Waiman Long

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=87ikryq9ik.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llong@redhat.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=x86@kernel.org \
    /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