Re: [PATCH] watchdog/hardlockup: set watchdog_hardlockup_warned to true as early as possible

From: Petr Mladek
Date: Mon Aug 07 2023 - 09:57:04 EST


On Sun 2023-08-06 10:52:57, Liu Song wrote:
>
> 在 2023/8/6 01:17, Andrew Morton 写道:
> > When resending, please tell us some more about the effects of the
> > change. Presumably there are circumstances in which excess output is
> > produced? If so, describe these circumstances and the observed
> > effects.
>
> Hi,
>
> I haven't found duplicate warnings in the real environment.
>
> However, considering that when system occurs hard lockup is basically
> abnormal, it
>
> seems more reasonable to set "watchdog_hardlockup_warned" to ture, rather
> than
>
> waiting for all kinds of information to be printed.

I believe that this is not needed.

watchdog_hardlockup_check(cpu, regs) is called on a CPU periodically.
There are two callers:

+ buddy detector checks the particular CPU when the solflockup's
hrtimer callback is called. See watchdog_hardlockup_kick()
in watchdog_timer_fn().

+ perf detector checks the particular CPU from a perf callback,
see watchdog_overflow_callback().

Neither timer nor perf callbacks might be nested. They are naturally
serialized on a given CPU. So, races are not possible in this case.

Best Regards,
Petr