Re: [PATCH 0/3] watchdog/softlockup: Make softlockup reports more reliable and useful

From: Petr Mladek
Date: Mon Oct 21 2019 - 08:32:47 EST


On Mon 2019-08-19 12:47:29, Petr Mladek wrote:
> ( Resending this as a proper patch with updated commit messages.
> The original was
> https://lkml.kernel.org/r/20190605140954.28471-1-pmladek@xxxxxxxx )
>
> We were analyzing logs with several softlockup reports in flush_tlb_kernel_range().
> They were confusing. Especially it was not clear whether it was deadlock,
> livelock, or separate softlockups.
>
> It went out that even a simple busy loop:
>
> while (true)
> cpu_relax();
>
> is able to produce several softlockups reports:
>
> [ 168.277520] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [cat:4865]
> [ 196.277604] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [cat:4865]
> [ 236.277522] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [cat:4865]
> ^^^^
>
> This patchset fixes the problem in two steps:
>
> + 1st patch prevents restart of the watchdog from unrelated locations.
> Each softlockup is reported only once:
>
> [ 320.248948] watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [cat:4916]
>
>
> + 2nd patch helps to distinguish several possible situations by
> regular reports. The report looks like:
>
> [ 480.372418] watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [cat:4943]
> [ 508.372359] watchdog: BUG: soft lockup - CPU#2 stuck for 52s! [cat:4943]
> [ 548.372359] watchdog: BUG: soft lockup - CPU#2 stuck for 89s! [cat:4943]
> [ 576.372351] watchdog: BUG: soft lockup - CPU#2 stuck for 115s! [cat:4943]

Gently ping. Is anyone against merging the two fixes, please?

Best Regards,
Petr