All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Paul Davis <paul@linuxaudiosystems.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>, Bill Huey <bhuey@lnxw.com>,
	Adam Heath <doogie@debian.org>,
	Michal Schmidt <xschmi00@stud.feec.vutbr.cz>,
	Karsten Wiese <annabellesgarden@yahoo.de>,
	jackit-devel <jackit-devel@lists.sourceforge.net>
Subject: Re: [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4]
Date: Fri, 29 Oct 2004 23:11:12 +0200	[thread overview]
Message-ID: <20041029211112.GA9836@elte.hu> (raw)
In-Reply-To: <200410292051.i9TKptOi007283@localhost.localdomain>


* Paul Davis <paul@linuxaudiosystems.com> wrote:

>   [ I trimmed the CC: line because several people there are on
>     jackit-devel. ]
> 
> >> compiles and boots fine. no observable change in xrun behaviour though. 
> >
> >ok, so there's something else going on as well - or i missed an ioctl. 
> 
> i really don't think the ioctl's are relevant. 
> 
> consider what will happen if jackd does make a system call that causes
> a major delay (say, because of the BKL). we will get an xrun, yes, but
> this will cause jackd to stop the audio interface and restart.
> max_delay is not affected by this behaviour.

indeed. I'd exclude the ioctls at this point. But:

> as far as i can tell, the number reported by max_delay entirely (or
> almost entirely) represents problems in kernel scheduling, specifically
> with a combination of:
> 
>      a) handling the audio interface interrupt in time.
>      b) marking the relevant jackd thread runnable
>      c) context switching back to the relevant jackd thread
> 
> things that jackd does once its running do not, it appear to me, have
> any impact on max_delay, which is based on the simple observation: 
> 
>    "i was just woken, i expect to be awakened again in N usecs or
>    less.

i dont yet see how this conclusion follows. Here's the poll() code
(simplified):

                poll_enter = jack_get_microseconds ();

                ret = poll (driver->pfd, nfds, driver->poll_timeout);

		[...]

		if (extra_fd < 0) {
			if (driver->poll_next && poll_ret > driver->poll_next) {
				*delayed_usecs = poll_ret - driver->poll_next;
			} 
			driver->poll_last = poll_ret;
			driver->poll_next = poll_ret + driver->period_usecs;
			driver->engine->transport_cycle_start (driver->engine, 
							       poll_ret);
		}

is there a mechanism that ensures that the next poll() will be called
_before_ ->poll_next? Do you get a real hard ALSA xrun in that case or
something similar?

if it's possible to 'silently' overrun the next due interrupt (somewhat,
but not large enough overrun to cause a hard ALSA xrun) then the
processing delay will i believe be accounted as a 'wakeup delay'. In
that case to make the delayed_usecs value truly accurate, i'd at least
add this:

                poll_enter = jack_get_microseconds ();

		if (poll_enter > driver->poll_next) {
			/*
			 * This processing cycle got delayed over
			 * the next due interrupt! Do not account this
			 * as a wakeup delay:
			 */
			driver->poll_next = 0;
		}

but i'd also suggest to put in a counter into that branch so that this
condition doesnt get lost. In fact the Maximum Process Cycle stat from
Rui:

>>   Maximum Delay . . . . . . . . .    6904       921       721    usecs
>>   Maximum Process Cycle . . . . .    1449      1469      1590    usecs

seems to suggest that there can be significant processing delays? (if
Maximum Process Cycle is indeed the time spent from poll_ret to the next
poll_enter.)

	Ingo

  reply	other threads:[~2004-10-29 21:17 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1099008264.4199.4.camel@krustophenia.net>
2004-10-29  0:57 ` [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4] Paul Davis
2004-10-29  2:10   ` Lee Revell
2004-10-29  8:02   ` Ingo Molnar
2004-10-29  8:21     ` Thomas Gleixner
2004-10-29  9:09       ` Ingo Molnar
2004-10-29 11:01         ` Paul Davis
2004-10-29 11:14           ` Ingo Molnar
2004-10-29 11:26             ` Paul Davis
2004-10-29 11:36               ` Ingo Molnar
2004-10-29 13:35                 ` Paul Davis
2004-10-29 13:55                   ` Ingo Molnar
2004-10-29 14:03                     ` Paul Davis
2004-10-29 14:15                       ` Ingo Molnar
2004-10-29 16:14             ` Ingo Molnar
2004-10-29 16:21               ` Ingo Molnar
2004-10-29 16:32               ` Florian Schmidt
2004-10-29 16:23                 ` Ingo Molnar
2004-10-29 16:31                   ` Ingo Molnar
2004-10-29 16:37                     ` Ingo Molnar
2004-10-29 16:53                       ` Ingo Molnar
2004-10-29 17:16                     ` Florian Schmidt
2004-10-29 17:02                       ` Ingo Molnar
2004-10-29 17:09                         ` Ingo Molnar
2004-10-29 17:16                           ` Ingo Molnar
2004-10-29 17:33                           ` Florian Schmidt
2004-10-29 17:21                             ` Ingo Molnar
2004-10-29 17:22                               ` Ingo Molnar
2004-10-29 18:36                                 ` Florian Schmidt
2004-10-29 20:33                                   ` Ingo Molnar
2004-10-29 20:51                                     ` Paul Davis
2004-10-29 21:11                                       ` Ingo Molnar [this message]
2004-10-30  1:06                                         ` Paul Davis
2004-10-30 11:34                                           ` Ingo Molnar
2004-11-26 17:16                                         ` [Jackit-devel] " Jack O'Quin
2004-10-29 20:42                                   ` Ingo Molnar
2004-10-29 21:31                                     ` Florian Schmidt
2004-10-29 21:25                                       ` Ingo Molnar
2004-10-29 21:42                                         ` Lee Revell
2004-10-29 21:46                                           ` Ingo Molnar
2004-10-29 21:53                                             ` Lee Revell
2004-10-29 23:12                                             ` Lee Revell
2004-10-30 11:58                                               ` Ingo Molnar
2004-10-30 17:49                                                 ` Lee Revell
2004-10-30 19:17                                                   ` Ingo Molnar
2004-10-30 19:43                                                     ` Lee Revell
2004-10-30 19:47                                                     ` Florian Schmidt
2004-10-30 19:37                                                       ` Ingo Molnar
2004-10-30 19:57                                                         ` Florian Schmidt
2004-10-30 19:52                                                       ` Lee Revell
2004-10-30 20:15                                                         ` Florian Schmidt
2004-10-30 20:26                                                           ` Lee Revell
2004-10-30 21:13                                                             ` Florian Schmidt
2004-10-30 21:26                                                               ` Lee Revell
2004-10-30 21:38                                                                 ` Florian Schmidt
2004-10-30 23:12                                                                   ` Lee Revell
2004-10-31 12:07                                                                   ` Ingo Molnar
2004-10-31 12:48                                                                     ` Ingo Molnar
2004-10-31 12:54                                                                       ` Lee Revell
2004-10-31 13:13                                                                         ` Ingo Molnar
2004-10-31 13:40                                                                           ` Ingo Molnar
2004-10-31 15:20                                                                             ` Florian Schmidt
2004-10-31 15:59                                                                               ` Florian Schmidt
2004-10-31 19:06                                                                                 ` Florian Schmidt
2004-11-01 13:42                                                                                   ` Ingo Molnar
2004-11-01 13:53                                                                                     ` Ingo Molnar
2004-11-01 14:06                                                                                       ` Ingo Molnar
2004-11-01 15:47                                                                                         ` Thomas Gleixner
2004-11-01 17:55                                                                                           ` Lee Revell
2004-11-01 17:58                                                                                             ` Thomas Gleixner
2004-11-01 18:43                                                                                             ` Ingo Molnar
2004-11-01 18:46                                                                                           ` Ingo Molnar
2004-11-01 22:30                                                                                             ` Florian Schmidt
2004-11-01 22:40                                                                                               ` Bill Huey
2004-11-01 22:51                                                                                                 ` Florian Schmidt
2004-11-01 22:59                                                                                                   ` Bill Huey
2004-11-02  8:02                                                                                                     ` Ingo Molnar
2004-11-02  8:07                                                                                               ` Ingo Molnar
2004-11-02 15:06                                                                                           ` [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.6.8 Ingo Molnar
2004-11-02 17:52                                                                                             ` K.R. Foley
2004-11-02 19:37                                                                                               ` Ingo Molnar
2004-11-02 19:40                                                                                                 ` K.R. Foley
2004-11-02 19:24                                                                                             ` Norberto Bensa
2004-11-02 19:35                                                                                               ` Ingo Molnar
2004-11-02 23:09                                                                                             ` Karsten Wiese
2004-11-03  1:12                                                                                               ` Ingo Molnar
2004-11-03 10:15                                                                                                 ` Karsten Wiese
2004-11-01 17:04                                                                                         ` [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4] Rui Nuno Capela
2004-11-01 17:08                                                                                           ` Thomas Gleixner
2004-11-01 20:00                                                                                             ` Rui Nuno Capela
2004-11-01 17:24                                                                                         ` K.R. Foley
2004-11-02  0:22                                                                                         ` Michal Schmidt
2004-11-01 13:54                                                                                     ` Paul Davis
2004-11-01 14:30                                                                                       ` Ingo Molnar
2004-11-01 19:30                                                                                         ` Paul Davis
2004-11-02  8:17                                                                                           ` Ingo Molnar
2004-11-01 14:03                                                                                     ` Florian Schmidt
2004-11-01 14:12                                                                                       ` Ingo Molnar
2004-11-01 15:29                                                                                       ` K.R. Foley
2004-11-02 23:41                                                                                     ` [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.6] Remi Colinet
2004-11-03  1:04                                                                                       ` Remi Colinet
2004-11-01 11:55                                                                                 ` [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4] Ingo Molnar
2004-11-01 12:37                                                                                   ` Ingo Molnar
2004-11-01 12:35                                                                                     ` Thomas Gleixner
2004-11-01 12:51                                                                                       ` Ingo Molnar
2004-11-01 13:15                                                                                         ` Ingo Molnar
2004-11-01 13:40                                                                                           ` Florian Schmidt
2004-11-01 13:48                                                                                             ` Ingo Molnar
2004-11-01 16:47                                                                                   ` Rui Nuno Capela
2004-10-31 23:16                                                                             ` Michal Schmidt
2004-11-01  0:05                                                                             ` Magnus Määttä
2004-10-31 13:11                                                                       ` Ingo Molnar
2004-10-31 14:11                                                                       ` Florian Schmidt
2004-10-31 13:22                                                                         ` Ingo Molnar
2004-10-31 14:28                                                                           ` Florian Schmidt
2004-10-31 13:30                                                                         ` Ingo Molnar
2004-10-31 21:58                                                                     ` Rui Nuno Capela
2004-10-31 22:11                                                                     ` K.R. Foley
2004-10-31  2:20                                                               ` Lee Revell
2004-10-31 10:00                                                                 ` Florian Schmidt
2004-10-31 12:09                                                                   ` Lee Revell
2004-10-31 12:19                                                                     ` Ingo Molnar
2004-10-31 12:35                                                                       ` Lee Revell
2004-10-31 12:39                                                                         ` Ingo Molnar
2004-10-30 20:05                                                       ` Lee Revell
2004-10-30 20:29                                                         ` Florian Schmidt
2004-10-30  0:15                                             ` Lee Revell
2004-10-29 22:31                                         ` Florian Schmidt
2004-10-29 22:50                                           ` Florian Schmidt
2004-10-30 13:15                                             ` Ingo Molnar
2004-10-30 17:53                                               ` Florian Schmidt
2004-10-30  3:36                                           ` Lee Revell
2004-10-30  3:48                                             ` Lee Revell
2004-10-30 11:16                                               ` Ingo Molnar
2004-10-30 17:44                                                 ` Lee Revell
2004-10-30 11:28                                             ` Ingo Molnar
2004-10-30 11:33                                               ` Ingo Molnar
2004-10-30 13:16                                               ` Florian Schmidt
2004-10-30  1:10                                         ` Lee Revell
2004-10-30  1:15                                         ` Lee Revell
2004-10-29  8:59     ` Ingo Molnar
2004-10-29  9:29       ` Ingo Molnar
2004-10-29 13:48     ` Ingo Molnar
2004-10-29 14:19       ` Paul Davis
2004-10-29 14:27         ` Ingo Molnar
2004-10-29 14:31         ` Ingo Molnar
2004-10-29 14:38           ` Paul Davis
2004-10-29 19:33     ` Lee Revell
2004-10-29 19:35       ` Thomas Gleixner
2004-11-01 14:32 Mark_H_Johnson
2004-11-01 14:36 ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2004-11-01 16:34 Mark_H_Johnson
2004-11-01 18:48 ` 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=20041029211112.GA9836@elte.hu \
    --to=mingo@elte.hu \
    --cc=annabellesgarden@yahoo.de \
    --cc=bhuey@lnxw.com \
    --cc=doogie@debian.org \
    --cc=jackit-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul@linuxaudiosystems.com \
    --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 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.