From: Bitao Hu <yaoma@linux.alibaba.com>
To: Doug Anderson <dianders@chromium.org>
Cc: akpm@linux-foundation.org, pmladek@suse.com, tglx@linutronix.de,
maz@kernel.org, liusong@linux.alibaba.com,
linux-kernel@vger.kernel.org, yaoma@linux.alibaba.com
Subject: Re: [PATCH 2/3] watchdog/softlockup: report the most time-consuming hardirq
Date: Thu, 25 Jan 2024 17:19:18 +0800 [thread overview]
Message-ID: <76a6cf81-fdf6-4583-aa4d-1e6a899bbb58@linux.alibaba.com> (raw)
In-Reply-To: <CAD=FV=X_uLqi1W7JuSjo=WXF5JEvtM=wxbSeFQQ2KhVcW9=Fcw@mail.gmail.com>
On 2024/1/25 08:19, Doug Anderson wrote:
>
> I guess maybe (?) the case it wouldn't catch so well would be if you
> had a loop that looked like:
>
> * CPU from "storming" device takes ~10 ms and finishes.
> * After the "storming" device finishes, we somehow manage to service a
> whole pile of normal interrupts from non-storming devices.
> * After the non-storming interrupts finished, then we went back to
> servicing the slow storming interrupt.
>
> I haven't dug into the bowels of the Linux IRQ handling well enough to
> know if that would be possible. However, even if it was possible it
> doesn't feel likely to happen. If those "normal" interrupts aren't
> storming then it seems unlikely we'd see more than one of each of them
> between the "storming" interrupts. Thus it feels like the "storming"
> interrupt would still have the highest (or tied for the highest) count
> on the locked up CPU. Maybe you could print the top 4 or 5 (instead of
> the top 3) and you'd be pretty certain to catch even this case?
>
Hi, I now understand your suggestion. Using interrupt time as a
criterion of interrupt storm is suitable for scenarios where we don't
know whether an interrupt storm has happened. However, in the context of
this softlockup, we have in fact already determined that an interrupt
storm might have occurred through the "hardirq time", so there's no need
for a redundant determination. Thus, I agree that using IRQ counts
seems like good enough to find "storming" interrupts.
> In any case, I'll wait before doing a more thorough review for now and
> hope the above sounds right to you.
>
> -Doug
next prev parent reply other threads:[~2024-01-25 9:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-23 12:12 [PATCH 0/3] *** Detect interrupt storm in softlockup *** Bitao Hu
2024-01-23 12:12 ` [PATCH 1/3] watchdog/softlockup: low-overhead detection of interrupt storm Bitao Hu
2024-01-24 1:43 ` Liu Song
2024-01-24 2:48 ` yaoma
2024-01-25 0:19 ` Doug Anderson
2024-01-25 8:31 ` Bitao Hu
2024-01-25 15:08 ` Doug Anderson
2024-01-26 5:25 ` kernel test robot
2024-01-23 12:12 ` [PATCH 2/3] watchdog/softlockup: report the most time-consuming hardirq Bitao Hu
2024-01-25 0:19 ` Doug Anderson
2024-01-25 7:50 ` Bitao Hu
2024-01-25 9:19 ` Bitao Hu [this message]
2024-02-14 23:36 ` Thomas Gleixner
2024-02-14 23:39 ` Doug Anderson
2024-02-15 1:02 ` Thomas Gleixner
2024-01-23 12:12 ` [PATCH 3/3] watchdog/softlockup: add parameter to control the reporting of " Bitao Hu
2024-01-26 5:25 ` kernel test robot
2024-01-26 6:07 ` kernel test robot
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=76a6cf81-fdf6-4583-aa4d-1e6a899bbb58@linux.alibaba.com \
--to=yaoma@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=dianders@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liusong@linux.alibaba.com \
--cc=maz@kernel.org \
--cc=pmladek@suse.com \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®