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

From: Prarit Bhargava
Date: Mon Nov 21 2016 - 12:59:53 EST




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 <prarit@xxxxxxxxxx>
>> Cc: Borislav Petkov <bp@xxxxxxx>
>> Cc: Tejun Heo <tj@xxxxxxxxxx>
>> Cc: Don Zickus <dzickus@xxxxxxxxxx>
>> Cc: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>> Cc: Joshua Hunt <johunt@xxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> ---
>> 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
>>