From: Petr Mladek <pmladek@suse.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>
Cc: Laurence Oberman <loberman@redhat.com>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
Michal Hocko <mhocko@suse.com>,
linux-kernel@vger.kernel.org, Petr Mladek <pmladek@suse.com>
Subject: [RFC 0/3] watchdog/softlockup: Make softlockup reports more reliable and useful
Date: Wed, 5 Jun 2019 16:09:51 +0200 [thread overview]
Message-ID: <20190605140954.28471-1-pmladek@suse.com> (raw)
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
next reply other threads:[~2019-06-05 14:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-05 14:09 Petr Mladek [this message]
2019-06-05 14:09 ` [PATCH 1/3] watchdog/softlockup: Preserve original timestamp when touching watchdog externally Petr Mladek
2019-06-05 14:09 ` [PATCH 2/3] watchdog/softlockup: Report the same softlockup regularly Petr Mladek
2019-06-05 14:09 ` [PATCH 3/3] Test softlockup Petr Mladek
2019-06-17 21:08 ` [RFC 0/3] watchdog/softlockup: Make softlockup reports more reliable and useful Thomas Gleixner
2019-07-09 16:05 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190605140954.28471-1-pmladek@suse.com \
--to=pmladek@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=mhocko@suse.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=vincent.whitchurch@axis.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox