lkml.org 
[lkml]   [2019]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC 0/3] watchdog/softlockup: Make softlockup reports more reliable and useful
Date
Hi,

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]


I tried to understand the tricky watchdog code and produced two patches
that would be helpful to debug the original real bug:

1st patch prevents restart of the watchdog from unrelated locations.

2nd patch helps to distinguish several possible situations by
regular reports.

3rd patch can be used for testing the problem.


The watchdog code might deserve even more clean up. Anyway, I would
like to hear other's opinion first.


Petr Mladek (3):
watchdog/softlockup: Preserve original timestamp when touching
watchdog externally
watchdog/softlockup: Report the same softlockup regularly
Test softlockup

fs/proc/consoles.c | 5 ++++
fs/proc/version.c | 7 +++++
kernel/watchdog.c | 85 +++++++++++++++++++++++++++++++-----------------------
3 files changed, 61 insertions(+), 36 deletions(-)

--
2.16.4

\
 
 \ /
  Last update: 2019-06-05 16:11    [W:0.072 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site