2005-09-01 07:32:11

by Ingo Molnar

[permalink] [raw]
Subject: Re: [Jackit-devel] Re: jack, PREEMPT_DESKTOP, delayed interrupts?


* Florian Schmidt <[email protected]> wrote:

> > JACK sources already include a CHECK_PREEMPTION() macro which expands
> > to Ingo's special gettimeofday() calls. The trace is turned on and
> > then off automatically before and after the realtime critical section
> > in the process thread (see libjack/client.c).
>
> Just for completeness sake:
>
> you need to build jackd with --enable-preemption-check

this is another feature, unrelated to latency tracing. So (an adapted
version of) the latency-tracing patch i sent should still be tried.

--enable-preemption-check does the 'send SIGUSR2 if jackd gets scheduled
unexpectedly'. That might unearth latencies, but it does not by itself
measure latencies. Right now we are more interested in the latencies
themselves.

i suspect the confusion comes from the API hacks i'm using: user-space
tracing is started/stopped via:

gettimeofday(0,1);
gettimeofday(0,0);

while 'jackd does not want to be scheduled' flag is switched on/off via:

gettimeofday(1,1);
gettimeofday(1,0);

(introducing extra syscalls for this is an overkill.)

Ingo


2005-09-01 17:23:32

by Jack O'Quin

[permalink] [raw]
Subject: Re: [Jackit-devel] Re: jack, PREEMPT_DESKTOP, delayed interrupts?

Ingo Molnar <[email protected]> writes:

> i suspect the confusion comes from the API hacks i'm using: user-space
> tracing is started/stopped via:
>
> gettimeofday(0,1);
> gettimeofday(0,0);
>
> while 'jackd does not want to be scheduled' flag is switched on/off via:
>
> gettimeofday(1,1);
> gettimeofday(1,0);

D'oh! No wonder I was confused.

Sorry to have mixed up the conversation with erroneous information,
but glad to have the gettimeofday() API clarified.
--
joq