From: Stanislav Meduna <stano@meduna.org>
To: "linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>
Subject: How to find long execution times in kernel threads?
Date: Tue, 30 Apr 2013 15:48:19 +0200 [thread overview]
Message-ID: <517FCBA3.1000909@meduna.org> (raw)
Hi,
I am experimenting with the cyclictest on a system running
several RT threads to find out where some latencies are
coming from and to get a better undertanding how the system
behaves.
The setup is:
class prio thread
FF 99 posixcputmr
FF 50 irq threads
FF 47 ksoftirqd
RR 45-25 my application exercising hrtimers, network, ...
Now I am trying to run
cyclictest -l100000000 -m -n -a0 -t1 -i200 -h400
at several priorities. The results after a few minutes are:
prio avg max
55 31 74
49 33 1124 (takes tens of seconds to record >1000)
46 33 1190 (nearly immediately >1000)
This is with 3.4.41-rt55 on a 500 MHz Geode LX, so 1 ms is quite
a lot of work.
What is the best approach to find
- which irq generates the occasional spikes
- why the ksoftirqd regularly generates spikes and what
soft-irq is responsible
These are obviously not 'hard' latencies - a runnable higher prio
thread gets the CPU - so the latency histograms won't show them.
Basically I'd like to trace what happened between a particular
process (not the highest priority one) was woken up until
it got scheduled, and stop if this took longer than some
defined time. Can this be done with the current tracing
infrastructure?
Thanks
--
Stano
next reply other threads:[~2013-04-30 13:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-30 13:48 Stanislav Meduna [this message]
2013-04-30 16:52 ` How to find long execution times in kernel threads? Carsten Emde
2013-04-30 18:02 ` Stanislav Meduna
2013-05-01 3:58 ` Ashoka K
2013-05-01 7:37 ` Carsten Emde
2013-05-01 8:19 ` Stanislav Meduna
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=517FCBA3.1000909@meduna.org \
--to=stano@meduna.org \
--cc=linux-rt-users@vger.kernel.org \
/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