All of lore.kernel.org
 help / color / mirror / Atom feed
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;
}



  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.