2016-11-21 16:36:09

by Prarit Bhargava

[permalink] [raw]
Subject: [PATCH] kernel/watchdog.c: Only output hw-PMU message once

When CONFIG_BOOTPARAM_HOTPLUG_CPU0 is enabled, the socket containing the
boot cpu can be replaced. During the hot add event, the message

NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.

is output implying that the NMI was disabled at some point. This is not the
case and the message has caused confusion for users of systems that support
socket removal.

This patch modifies the message so that it only outputs a single time
during runtime.

Signed-off-by: Prarit Bhargava <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Don Zickus <[email protected]>
Cc: Hidehiro Kawai <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Joshua Hunt <[email protected]>
Cc: Ingo Molnar <[email protected]>
---
kernel/watchdog.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 9acb29f280ec..560414692c01 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -615,7 +615,7 @@ static int watchdog_nmi_enable(unsigned int cpu)
if (!IS_ERR(event)) {
/* only print for cpu0 or different than cpu0 */
if (cpu == 0 || cpu0_err)
- pr_info("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
+ pr_info_once("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
goto out_save;
}

--
1.7.9.3


2016-11-21 17:49:06

by Don Zickus

[permalink] [raw]
Subject: Re: [PATCH] kernel/watchdog.c: Only output hw-PMU message once

On Mon, Nov 21, 2016 at 11:35:19AM -0500, Prarit Bhargava wrote:
> When CONFIG_BOOTPARAM_HOTPLUG_CPU0 is enabled, the socket containing the
> boot cpu can be replaced. During the hot add event, the message
>
> NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
>
> is output implying that the NMI was disabled at some point. This is not the
> case and the message has caused confusion for users of systems that support
> socket removal.
>
> This patch modifies the message so that it only outputs a single time
> during runtime.

Hmm, it occurred to me, with pr_info_once, what happens if you disable and
re-enable, is this still printed?

echo 0 > /proc/sys/kernel/watchdog
echo 1 > /proc/sys/kernel/watchdog

Cheers,
Don

>
> Signed-off-by: Prarit Bhargava <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Tejun Heo <[email protected]>
> Cc: Don Zickus <[email protected]>
> Cc: Hidehiro Kawai <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Andi Kleen <[email protected]>
> Cc: Joshua Hunt <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> ---
> kernel/watchdog.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index 9acb29f280ec..560414692c01 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -615,7 +615,7 @@ static int watchdog_nmi_enable(unsigned int cpu)
> if (!IS_ERR(event)) {
> /* only print for cpu0 or different than cpu0 */
> if (cpu == 0 || cpu0_err)
> - pr_info("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
> + pr_info_once("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
> goto out_save;
> }
>
> --
> 1.7.9.3
>

2016-11-21 17:59:50

by Prarit Bhargava

[permalink] [raw]
Subject: Re: [PATCH] kernel/watchdog.c: Only output hw-PMU message once



On 11/21/2016 12:48 PM, Don Zickus wrote:
> On Mon, Nov 21, 2016 at 11:35:19AM -0500, Prarit Bhargava wrote:
>> When CONFIG_BOOTPARAM_HOTPLUG_CPU0 is enabled, the socket containing the
>> boot cpu can be replaced. During the hot add event, the message
>>
>> NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
>>
>> is output implying that the NMI was disabled at some point. This is not the
>> case and the message has caused confusion for users of systems that support
>> socket removal.
>>
>> This patch modifies the message so that it only outputs a single time
>> during runtime.
>
> Hmm, it occurred to me, with pr_info_once, what happens if you disable and
> re-enable, is this still printed?
>
> echo 0 > /proc/sys/kernel/watchdog
> echo 1 > /proc/sys/kernel/watchdog

With my patch, the message is not printed using the above steps. I'll go back
and see if I can figure something out.

P.

>
> Cheers,
> Don
>
>>
>> Signed-off-by: Prarit Bhargava <[email protected]>
>> Cc: Borislav Petkov <[email protected]>
>> Cc: Tejun Heo <[email protected]>
>> Cc: Don Zickus <[email protected]>
>> Cc: Hidehiro Kawai <[email protected]>
>> Cc: Thomas Gleixner <[email protected]>
>> Cc: Andi Kleen <[email protected]>
>> Cc: Joshua Hunt <[email protected]>
>> Cc: Ingo Molnar <[email protected]>
>> ---
>> kernel/watchdog.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
>> index 9acb29f280ec..560414692c01 100644
>> --- a/kernel/watchdog.c
>> +++ b/kernel/watchdog.c
>> @@ -615,7 +615,7 @@ static int watchdog_nmi_enable(unsigned int cpu)
>> if (!IS_ERR(event)) {
>> /* only print for cpu0 or different than cpu0 */
>> if (cpu == 0 || cpu0_err)
>> - pr_info("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
>> + pr_info_once("enabled on all CPUs, permanently consumes one hw-PMU counter.\n");
>> goto out_save;
>> }
>>
>> --
>> 1.7.9.3
>>