From: Ingo Molnar <mingo@elte.hu>
To: Anant Nitya <kernel@prachanda.info>
Cc: linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: bad networking related lag in v2.6.22-rc2
Date: Mon, 21 May 2007 10:05:29 +0200 [thread overview]
Message-ID: <20070521080529.GA13858@elte.hu> (raw)
In-Reply-To: <20070521080351.GA13375@elte.hu>
[-- Attachment #1: Type: text/plain, Size: 278 bytes --]
* Ingo Molnar <mingo@elte.hu> wrote:
> ah, you got the latency tracer from Thomas, as part of the -hrt patchset
> - that makes it quite a bit easier to debug. Could you run the attached
> trace-it-10sec utility:
>
> trace-it-10sec > trace-to-ingo.txt
attached ...
Ingo
[-- Attachment #2: trace-it-10sec.c --]
[-- Type: text/plain, Size: 2364 bytes --]
/*
* Copyright (C) 2005, Ingo Molnar <mingo@redhat.com>
*
* user-triggered tracing.
*
* The -rt kernel has a built-in kernel tracer, which will trace
* all kernel function calls (and a couple of special events as well),
* by using a build-time gcc feature that instruments all kernel
* functions.
*
* The tracer is highly automated for a number of latency tracing purposes,
* but it can also be switched into 'user-triggered' mode, which is a
* half-automatic tracing mode where userspace apps start and stop the
* tracer. This file shows a dumb example how to turn user-triggered
* tracing on, and how to start/stop tracing. Note that if you do
* multiple start/stop sequences, the kernel will do a maximum search
* over their latencies, and will keep the trace of the largest latency
* in /proc/latency_trace. The maximums are also reported to the kernel
* log. (but can also be read from /proc/sys/kernel/preempt_max_latency)
*
* For the tracer to be activated, turn on CONFIG_WAKEUP_TIMING and
* CONFIG_LATENCY_TRACE in the .config, rebuild the kernel and boot
* into it. Note that the tracer can have significant runtime overhead,
* so you dont want to use it for performance testing :)
*/
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/wait.h>
#include <linux/unistd.h>
int main (int argc, char **argv)
{
int ret;
if (getuid() != 0) {
fprintf(stderr, "needs to run as root.\n");
exit(1);
}
ret = system("cat /proc/sys/kernel/mcount_enabled >/dev/null 2>/dev/null");
if (ret) {
fprintf(stderr, "CONFIG_LATENCY_TRACING not enabled?\n");
exit(1);
}
// system("echo 0 > /proc/sys/kernel/trace_all_cpus");
system("echo 1 > /proc/sys/kernel/trace_enabled");
// system("echo 0 > /proc/sys/kernel/trace_freerunning");
system("echo 0 > /proc/sys/kernel/trace_print_at_crash");
system("echo 1 > /proc/sys/kernel/trace_user_triggered");
system("echo 0 > /proc/sys/kernel/trace_verbose");
system("echo 0 > /proc/sys/kernel/preempt_max_latency");
system("echo 0 > /proc/sys/kernel/preempt_thresh");
// system("[ -e /proc/sys/kernel/wakeup_timing ] && echo 1 > /proc/sys/kernel/wakeup_timing");
// system("echo 1 > /proc/sys/kernel/mcount_enabled");
prctl(0, 1); // start tracing
sleep(10);
prctl(0, 0); // stop tracing
system("cat /proc/latency_trace");
return 0;
}
next prev parent reply other threads:[~2007-05-21 8:06 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-17 17:45 [patch] CFS scheduler, -v13 Ingo Molnar
2007-05-17 21:47 ` Anant Nitya
2007-05-18 10:26 ` Ingo Molnar
2007-05-18 16:13 ` Anant Nitya
2007-05-19 21:16 ` Anant Nitya
2007-05-20 6:38 ` Ingo Molnar
2007-05-21 7:58 ` bad networking related lag in v2.6.22-rc2 Ingo Molnar
2007-05-21 8:03 ` Ingo Molnar
2007-05-21 8:05 ` Ingo Molnar [this message]
2007-05-21 8:12 ` Ingo Molnar
2007-05-21 8:29 ` David Miller
2007-05-21 10:09 ` Ingo Molnar
2007-05-21 10:14 ` Anant Nitya
2007-05-21 10:20 ` Ingo Molnar
2007-05-22 6:20 ` Anant Nitya
2007-05-21 19:40 ` Anant Nitya
2007-05-21 20:46 ` Ingo Molnar
2007-05-21 21:02 ` Patrick McHardy
2007-05-21 21:30 ` Patrick McHardy
2007-05-22 6:17 ` Anant Nitya
2007-05-22 6:22 ` Ingo Molnar
2007-05-23 5:40 ` Anant Nitya
2007-05-23 6:30 ` Ingo Molnar
2007-05-23 10:56 ` Patrick McHardy
2007-05-23 11:05 ` Ingo Molnar
2007-05-23 11:25 ` Herbert Xu
2007-05-23 11:33 ` Patrick McHardy
2007-05-23 15:00 ` Linus Torvalds
2007-05-23 17:16 ` Patrick McHardy
2007-05-23 11:40 ` Ingo Molnar
2007-05-23 21:30 ` David Miller
2007-05-24 5:41 ` Patrick McHardy
2007-05-24 6:40 ` David Miller
2007-05-24 7:12 ` Anant Nitya
2007-05-22 6:23 ` Ingo Molnar
2007-05-22 6:24 ` Ingo Molnar
2007-05-22 9:17 ` Patrick McHardy
2007-05-22 12:47 ` Anant Nitya
2007-05-21 8:25 ` David Miller
2007-05-21 8:28 ` Ingo Molnar
2007-05-21 8:30 ` David Miller
2007-05-21 15:57 ` [patch] CFS scheduler, -v13 Linus Torvalds
2007-05-22 22:06 ` Bill Davidsen
2007-05-23 5:45 ` Anant Nitya
2007-05-18 15:20 ` Michael Lothian
2007-05-18 15:56 ` Ingo Molnar
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=20070521080529.GA13858@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=kernel@prachanda.info \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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
Powered by JetHome