2023-12-09 01:52:31

by Namhyung Kim

[permalink] [raw]
Subject: [PATCH] x86/nmi: Rate limit unknown NMI messages

On some AMD machines, unknown NMI messages were printed on the console
continuously when using perf command with IBS. It was reported that it
can slow down the kernel. Let's ratelimit the unknown NMI messages.

Cc: Ravi Bangoria <[email protected]>
Cc: Guilherme Amadio <[email protected]>
Cc: Stephane Eranian <[email protected]>
Signed-off-by: Namhyung Kim <[email protected]>
---
arch/x86/kernel/nmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 17e955ab69fe..d23867901186 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -303,13 +303,13 @@ unknown_nmi_error(unsigned char reason, struct pt_regs *regs)

__this_cpu_add(nmi_stats.unknown, 1);

- pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
- reason, smp_processor_id());
+ pr_emerg_ratelimited("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
+ reason, smp_processor_id());

if (unknown_nmi_panic || panic_on_unrecovered_nmi)
nmi_panic(regs, "NMI: Not continuing");

- pr_emerg("Dazed and confused, but trying to continue\n");
+ pr_emerg_ratelimited("Dazed and confused, but trying to continue\n");
}
NOKPROBE_SYMBOL(unknown_nmi_error);

--
2.43.0.472.g3155946c3a-goog


2023-12-10 10:39:25

by Guilherme Amadio

[permalink] [raw]
Subject: Re: [PATCH] x86/nmi: Rate limit unknown NMI messages

On Fri, Dec 08, 2023 at 05:52:11PM -0800, Namhyung Kim wrote:
> On some AMD machines, unknown NMI messages were printed on the console
> continuously when using perf command with IBS. It was reported that it
> can slow down the kernel. Let's ratelimit the unknown NMI messages.
>
> Cc: Ravi Bangoria <[email protected]>
> Cc: Guilherme Amadio <[email protected]>

The rate of messages on the console were proportional to the sampling frequency
when I noticed this happening, so this is a welcome change. Thank you!

Acked-by: Guilherme Amadio <[email protected]>

Best regards,
-Guilherme

> Cc: Stephane Eranian <[email protected]>
> Signed-off-by: Namhyung Kim <[email protected]>
> ---
> arch/x86/kernel/nmi.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
> index 17e955ab69fe..d23867901186 100644
> --- a/arch/x86/kernel/nmi.c
> +++ b/arch/x86/kernel/nmi.c
> @@ -303,13 +303,13 @@ unknown_nmi_error(unsigned char reason, struct pt_regs *regs)
>
> __this_cpu_add(nmi_stats.unknown, 1);
>
> - pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
> - reason, smp_processor_id());
> + pr_emerg_ratelimited("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
> + reason, smp_processor_id());
>
> if (unknown_nmi_panic || panic_on_unrecovered_nmi)
> nmi_panic(regs, "NMI: Not continuing");
>
> - pr_emerg("Dazed and confused, but trying to continue\n");
> + pr_emerg_ratelimited("Dazed and confused, but trying to continue\n");
> }
> NOKPROBE_SYMBOL(unknown_nmi_error);
>
> --
> 2.43.0.472.g3155946c3a-goog
>

2023-12-12 04:17:27

by Ravi Bangoria

[permalink] [raw]
Subject: Re: [PATCH] x86/nmi: Rate limit unknown NMI messages

> On some AMD machines, unknown NMI messages were printed on the console
> continuously when using perf command with IBS. It was reported that it
> can slow down the kernel. Let's ratelimit the unknown NMI messages.

Continuously repeating of the same message is useless. So,

Acked-by: Ravi Bangoria <[email protected]>

2024-01-25 16:36:27

by tip-bot2 for Jacob Pan

[permalink] [raw]
Subject: [tip: x86/misc] x86/nmi: Rate limit unknown NMI messages

The following commit has been merged into the x86/misc branch of tip:

Commit-ID: e2fbc857d3c677ce96d9260577491e0d8f21b6f7
Gitweb: https://git.kernel.org/tip/e2fbc857d3c677ce96d9260577491e0d8f21b6f7
Author: Namhyung Kim <[email protected]>
AuthorDate: Fri, 08 Dec 2023 17:52:11 -08:00
Committer: Borislav Petkov (AMD) <[email protected]>
CommitterDate: Thu, 25 Jan 2024 17:29:06 +01:00

x86/nmi: Rate limit unknown NMI messages

On some AMD machines, unknown NMI messages were printed on the console
continuously when using perf command with IBS. It was reported that it
can slow down the kernel. Ratelimit the unknown NMI messages.

Signed-off-by: Namhyung Kim <[email protected]>
Signed-off-by: Borislav Petkov (AMD) <[email protected]>
Acked-by: Ravi Bangoria <[email protected]>
Acked-by: Guilherme Amadio <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
arch/x86/kernel/nmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 17e955a..d238679 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -303,13 +303,13 @@ unknown_nmi_error(unsigned char reason, struct pt_regs *regs)

__this_cpu_add(nmi_stats.unknown, 1);

- pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
- reason, smp_processor_id());
+ pr_emerg_ratelimited("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
+ reason, smp_processor_id());

if (unknown_nmi_panic || panic_on_unrecovered_nmi)
nmi_panic(regs, "NMI: Not continuing");

- pr_emerg("Dazed and confused, but trying to continue\n");
+ pr_emerg_ratelimited("Dazed and confused, but trying to continue\n");
}
NOKPROBE_SYMBOL(unknown_nmi_error);