mirror of https://lore.kernel.org/lkml/
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome