public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Rui Nuno Capela <rncbc@rncbc.org>
Cc: linux-kernel@vger.kernel.org, Lee Revell <rlrevell@joe-job.com>,
	mark_h_johnson@raytheon.com, "K.R. Foley" <kr@cybsft.com>,
	Bill Huey <bhuey@lnxw.com>, Adam Heath <doogie@debian.org>,
	Florian Schmidt <mista.tapas@gmx.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Michal Schmidt <xschmi00@stud.feec.vutbr.cz>,
	Fernando Pablo Lopez-Lezcano <nando@ccrma.stanford.edu>,
	Karsten Wiese <annabellesgarden@yahoo.de>,
	Gunther Persoons <gunther_persoons@spymac.com>,
	emann@mrv.com, Shane Shrybman <shrybman@aei.ca>,
	Amit Shah <amit.shah@codito.com>,
	Esben Nielsen <simlo@phys.au.dk>
Subject: Re: Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7
Date: Mon, 29 Nov 2004 12:24:23 +0100	[thread overview]
Message-ID: <20041129112423.GA10386@elte.hu> (raw)
In-Reply-To: <20041129111634.GB10123@elte.hu>


* Ingo Molnar <mingo@elte.hu> wrote:

> --- ./drivers/alsa/alsa_driver.c.orig	2004-11-26 14:11:26.000000000 +0100
> +++ ./drivers/alsa/alsa_driver.c	2004-11-26 14:24:41.000000000 +0100

i think the one below is a better approach - it will only trace events
that the ALSA driver has reported to be an xrun. I.e. the full latency
path from the point where poll() is called, up to the point where jackd
[after the latency has occured] considers it an xrun worth
counting/reporting. The tracing restarts at every poll(), so only the 
latency is captured. If you up your tracebuffer to 40K+ entries then i'd 
suggest to use the following trace settings:

 echo 0 > /proc/asound/card0/pcm0p/xrun_debug

 echo 1 > /proc/sys/kernel/trace_user_triggered
 echo 0 > /proc/sys/kernel/trace_freerunning
 echo 0 > /proc/sys/kernel/preempt_max_latency
 echo 0 > /proc/sys/kernel/preempt_thresh
 echo 0 > /proc/sys/kernel/preempt_wakeup_timing

i.e. dont use trace_freerunning - this will give much easier to parse
traces.

a suggestion wrt. the format of the .trc files: it would be nice if you
could dump the PIDs of all relevant tasks into it too, to make it easier
to identify who causes what latency. Ideally it would be useful to 
have a more symbolic trace - i.e. instead of:

 3570 00000000 254981.991ms (+0.000ms): up (ext3_orphan_del)

it would be:

 jackd-3570 00000000 254981.991ms (+0.000ms): up (ext3_orphan_del)

but this is easier done in the kernel - some of the tasks involved in a
latency might be long gone by the time you detect the xrun.

	Ingo

--- ./drivers/alsa/alsa_driver.c.orig	2004-11-26 14:11:26.000000000 +0100
+++ ./drivers/alsa/alsa_driver.c	2004-11-26 15:31:37.000000000 +0100
@@ -1077,13 +1077,16 @@ alsa_driver_xrun_recovery (alsa_driver_t
 	    && driver->process_count > XRUN_REPORT_DELAY) {
 		struct timeval now, diff, tstamp;
 		driver->xrun_count++;
+		gettimeofday(0,0);
 		gettimeofday(&now, 0);
 		snd_pcm_status_get_trigger_tstamp(status, &tstamp);
 		timersub(&now, &tstamp, &diff);
 		*delayed_usecs = diff.tv_sec * 1000000.0 + diff.tv_usec;
+#if 0
 		fprintf(stderr, "\n\n**** alsa_pcm: xrun of at least %.3f "
 			"msecs\n\n",
 			*delayed_usecs / 1000.0);
+#endif
 	}
 
 	if (alsa_driver_stop (driver) ||
@@ -1185,6 +1188,7 @@ alsa_driver_wait (alsa_driver_t *driver,
 			nfds++;
 		}
 
+		gettimeofday(0,1);
 		poll_enter = jack_get_microseconds ();
 
 		if (poll (driver->pfd, nfds, driver->poll_timeout) < 0) {

  reply	other threads:[~2004-11-29 11:26 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-26 12:12 Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7 Rui Nuno Capela
2004-11-29 11:05 ` Ingo Molnar
2004-11-29 11:16 ` Ingo Molnar
2004-11-29 11:24   ` Ingo Molnar [this message]
2004-11-29 15:42     ` Ingo Molnar
2004-11-29 13:13   ` Rui Nuno Capela
2004-11-29 14:33     ` Ingo Molnar
2004-11-29 15:23       ` Ingo Molnar
2004-11-29 23:16         ` Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-13 Gene Heskett
2004-11-30  1:50           ` K.R. Foley
2004-11-30  3:19             ` Gene Heskett
2004-11-30  4:54             ` Gene Heskett
2004-11-30 15:26               ` K.R. Foley
2004-11-30 16:24                 ` Gene Heskett
2004-11-30 16:52                   ` Zwane Mwaikambo
2004-12-01  7:16                     ` Gene Heskett
2004-11-30 16:57                   ` K.R. Foley
2004-11-30 10:29         ` Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7 Rui Nuno Capela
2004-11-30 13:19           ` Ingo Molnar
2004-11-30 15:39             ` Rui Nuno Capela
2004-11-30 16:42               ` Ingo Molnar
2004-12-01 10:32               ` Ingo Molnar
2004-12-01 11:25                 ` Ingo Molnar
2004-12-01 12:49                   ` Rui Nuno Capela
2004-12-01 12:47                 ` Rui Nuno Capela
2004-12-01 15:40                   ` Ingo Molnar
2004-12-01 16:06                     ` Ingo Molnar
2004-12-01 16:20                       ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-19 Ingo Molnar
2004-12-01 16:31                         ` Ingo Molnar
2004-12-01 18:59                         ` Rui Nuno Capela
2004-12-01 21:29                           ` Ingo Molnar
2004-12-01 21:30                             ` Ingo Molnar
     [not found]                               ` <32788.192.168.1.8.1101938057.squirrel@192.168.1.8>
2004-12-01 21:58                                 ` Ingo Molnar
2004-12-01 22:04                                   ` Rui Nuno Capela
2004-12-01 22:09                                 ` Ingo Molnar
2004-12-01 22:31                                   ` Rui Nuno Capela
2004-12-02  9:12                                     ` Rui Nuno Capela
2004-12-02 12:59                                       ` Rui Nuno Capela
2004-12-02 16:38                                         ` Fernando Lopez-Lezcano
2004-12-01 22:43                                   ` Florian Schmidt
2004-12-02  8:40                                     ` Ingo Molnar
2004-12-02 12:22                                       ` Florian Schmidt
2004-12-02 12:29                                         ` Ingo Molnar
2004-12-02 13:06                                           ` Florian Schmidt
2004-12-02 13:10                                             ` Ingo Molnar
2004-12-02 13:40                                               ` Florian Schmidt
2004-12-02 13:49                                                 ` Ingo Molnar
2004-12-02 16:08                                                   ` Florian Schmidt
2004-12-02 17:44                                                   ` Florian Schmidt
2004-12-02 21:12                                                     ` Florian Schmidt
2004-12-02 13:18                                             ` Rui Nuno Capela
2004-12-03  1:41                         ` Fernando Lopez-Lezcano
2004-12-03  2:23                           ` Fernando Lopez-Lezcano
2004-11-30 18:13   ` Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7 Remi Colinet
2004-11-30  8:15     ` Ingo Molnar
2004-12-01  8:30       ` Eran Mann
2004-12-01  8:53         ` Ingo Molnar
2004-12-01 18:19           ` Adam Heath
  -- strict thread matches above, loose matches on Subject: below --
2004-11-28 19:42 Eran Mann
2004-11-30  8:58 ` Ingo Molnar
2004-11-30 16:20   ` Gene Heskett
2004-11-30 14:33 Mark_H_Johnson
2004-12-01  9:02 ` Ingo Molnar
2004-12-01 14:57 Mark_H_Johnson
2004-12-01 21:20 ` 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=20041129112423.GA10386@elte.hu \
    --to=mingo@elte.hu \
    --cc=amit.shah@codito.com \
    --cc=annabellesgarden@yahoo.de \
    --cc=bhuey@lnxw.com \
    --cc=doogie@debian.org \
    --cc=emann@mrv.com \
    --cc=gunther_persoons@spymac.com \
    --cc=kr@cybsft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark_h_johnson@raytheon.com \
    --cc=mista.tapas@gmx.net \
    --cc=nando@ccrma.stanford.edu \
    --cc=rlrevell@joe-job.com \
    --cc=rncbc@rncbc.org \
    --cc=shrybman@aei.ca \
    --cc=simlo@phys.au.dk \
    --cc=tglx@linutronix.de \
    --cc=xschmi00@stud.feec.vutbr.cz \
    /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