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

2005-09-01 Thread Jack O'Quin
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2005-09-01 Thread Ingo Molnar

* 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2005-09-01 Thread Ingo Molnar

* 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
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2005-09-01 Thread Jack O'Quin
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
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2005-08-31 Thread Florian Schmidt
On Wed, 31 Aug 2005 07:08:08 -0500
"Jack O'Quin" <[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

Flo


-- 
Palimm Palimm!
http://tapas.affenbande.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-31 Thread Fernando Lopez-Lezcano
On Wed, 2005-08-31 at 00:35, Ingo Molnar wrote:
> * Fernando Lopez-Lezcano <[EMAIL PROTECTED]> wrote:
> 
> > Do a "tar cvf usr.tar /usr" just to read/write a lot to disk (this 
> > within the same SATA disk). Watch memory being used in a system 
> > monitor applet up to 100%. After a while, hard to say how long (maybe 
> > 10/15 minutes?) the system eventually can get into a state where Jack 
> > starts printing messages of the type "delay of 3856.000 usecs exceeds 
> > estimated spare time of 2653.000; restart ..." (if I understand 
> > correctly this means interrupts are being delayed on their way to 
> > Jack, or at least Jack thinks they are arriving too late), along with 
> > some less frequent xun notices.
> > 
> > Now the strange thing is that this condition seems to be persistent.  
> > Nothing I do after it starts to happen seems to halt those messages.  
> > Including stopping Jack and starting it again, and even (tried it 
> > once) stopping the alsa sound driver and loading it again. Nothing out 
> > of the ordinary in dmesg or /var/log/messages. I would guess that 
> > something "breaks" inside the kernel with regards to interrupt 
> > handling and/or whatever Jack uses to measure time inside the kernel?  
> > Interrupts are prioritized correctly (rtc, then audio and jack runs at 
> > lower realtime priority than the audio interrupts), everything else 
> > looks fine.
> 
> are the messages unstoppable, even if the system is completely idle? And 
> you get this only with the SMP kernel, correct?

That's correct. I have to try harder with a UP kernel but I'm short on
time. I should see how idle I can get the system (ie: logout, start
stopping processes), but quitting jack and all related apps and/or
restarting alsa does not fix the problem. Top does not show anything
strange in terms of cpu usage.

> i dont know what's going on, but here are a couple of ideas to debug 
> this further:
> 
> - could you check whether there are any SCHED_FIFO tasks that shouldnt 
>   be there:
> 
> ps -meo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep FF

Seems to be fine (I'm doing this remotely so I can't look at the screen
to see if jack is still spewing messages):

- 2 FF  99   - 139   0  0.0 Smigration_thre -
- 3 FF   1   -  41   0  0.0 Sksoftirqd  -
- 4 FF   1   -  41   0  0.0 Sksoftirqd  -
- 5 FF   1   -  41   0  0.0 Sksoftirqd  -
- 6 FF   1   -  41   0  0.0 Sksoftirqd  -
- 7 FF   1   -  41   0  0.0 Sksoftirqd  -
- 8 FF   1   -  41   0  0.0 Sksoftirqd  -
-10 FF  99   - 139   0  0.0 Swatchdog   -
-11 FF  99   - 139   1  0.0 Smigration_thre -
-12 FF   1   -  41   1  0.0 Sksoftirqd  -
-13 FF   1   -  41   1  0.0 Sksoftirqd  -
-14 FF   1   -  41   1  0.0 Sksoftirqd  -
-15 FF   1   -  41   1  0.0 Sksoftirqd  -
-16 FF   1   -  41   1  0.0 Sksoftirqd  -
-17 FF   1   -  41   1  0.0 Sksoftirqd  -
-19 FF  99   - 139   1  0.0 Swatchdog   -
-20 FF   1   -  41   0  0.0 S<   worker_thread  -
-21 FF   1   -  41   1  0.0 S<   worker_thread  -
-27 FF  49   -  89   0  0.0 S<   irqd   -
-   295 FF  80   - 120   0  0.0 S<   irqd   -
-   313 FF  49   -  89   0  0.0 S<   irqd   -
-   346 FF  46   -  86   0  0.0 S<   irqd   -
-   378 FF  50   -  90   0  0.0 S<   irqd   -
-   408 FF  44   -  84   0  0.0 S<   irqd   -
-   421 FF  60   - 100   0  0.0 S<   irqd   -
-   923 FF  42   -  82   0  0.0 S<   irqd   -
-   947 FF  41   -  81   0  0.0 S<   irqd   -
the next line is the soundcard interrupt:
-  1033 FF  70   - 110   0  0.0 S<   irqd   -
-  1046 FF  69   - 109   0  0.0 S<   irqd   -
-  1205 FF  59   -  99   0  0.0 S<   irqd   -
-  3946 FF  37   -  77   0  0.0 S<   irqd   -
-  3947 FF  36   -  76   0  0.0 S<   irqd   -
-  3972 FF  35   -  75   0  0.0 S<   irqd   -
-  4434 FF  34   -  74   0  0.0 S<   irqd   -
These guys should be jackd (no clients are running):
-  4674 FF  61   - 101   1  0.2 SLl  -  -
-  4671 FF  72   - 112   1  0.0 SLsl -  -
-  4672 FF  62   - 102   1  0.6 SLsl -  -

Interrupt lines:
# cat /proc/interrupts
   CPU0   CPU1
  0: 112487   51273672  IO-APIC-edge   [.N/  0]  timer
  1:  1638  IO-APIC-edge   [../  0]  i8042
  7:  2  1  IO-APIC-edge   [..P.../  0]  parport0
  8:  0  1  IO-APIC-edge   [.N/  0]  rtc
  9:  0  0  IO-APIC-level  

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

2005-08-31 Thread Jack O'Quin
Ingo Molnar <[EMAIL PROTECTED]> writes:

> - if everything fails and automatic latency tracing does not show 
>   anything out of ordinary, then you could try to do "user-triggered 
>   tracing" of jackd's critical path. This is more laborous to do, but
>   should pinpoint the latency reason in a pretty sure way.
>
>   user-triggered tracing is done via adding those special gettimeofday 
>   calls to jackd and recompiling jackd. I've attached an older hack
>   against jackd below, you might need to merge it to recent jackd. NOTE: 
>   this patch will only work if you are getting xrun messages from ALSA.  
>   It has to be reworked if your latencies are not actual xruns.

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).  

Ingo's suggested ALSA backend patch is not presently included.

There are probably some other places where these macros could usefully
be added.  We will integrate patches adding them in appropriate spots.
They do no harm in vanilla kernels without tracing enabled.

-- 
  joq
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-31 Thread Ingo Molnar

* Fernando Lopez-Lezcano <[EMAIL PROTECTED]> wrote:

> Do a "tar cvf usr.tar /usr" just to read/write a lot to disk (this 
> within the same SATA disk). Watch memory being used in a system 
> monitor applet up to 100%. After a while, hard to say how long (maybe 
> 10/15 minutes?) the system eventually can get into a state where Jack 
> starts printing messages of the type "delay of 3856.000 usecs exceeds 
> estimated spare time of 2653.000; restart ..." (if I understand 
> correctly this means interrupts are being delayed on their way to 
> Jack, or at least Jack thinks they are arriving too late), along with 
> some less frequent xun notices.
> 
> Now the strange thing is that this condition seems to be persistent.  
> Nothing I do after it starts to happen seems to halt those messages.  
> Including stopping Jack and starting it again, and even (tried it 
> once) stopping the alsa sound driver and loading it again. Nothing out 
> of the ordinary in dmesg or /var/log/messages. I would guess that 
> something "breaks" inside the kernel with regards to interrupt 
> handling and/or whatever Jack uses to measure time inside the kernel?  
> Interrupts are prioritized correctly (rtc, then audio and jack runs at 
> lower realtime priority than the audio interrupts), everything else 
> looks fine.

are the messages unstoppable, even if the system is completely idle? And 
you get this only with the SMP kernel, correct?

i dont know what's going on, but here are a couple of ideas to debug 
this further:

- could you check whether there are any SCHED_FIFO tasks that shouldnt 
  be there:

ps -meo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep FF

  we had bugs in the past that caused RT priorities to 'leak' on SMP 
  systems.

- please enable all latency tracing options like Lee suggested, and do 
  "echo 0 > /proc/sys/kernel/preempt_max_latency" to get some traces. 

- if everything fails and automatic latency tracing does not show 
  anything out of ordinary, then you could try to do "user-triggered 
  tracing" of jackd's critical path. This is more laborous to do, but
  should pinpoint the latency reason in a pretty sure way.

  user-triggered tracing is done via adding those special gettimeofday 
  calls to jackd and recompiling jackd. I've attached an older hack
  against jackd below, you might need to merge it to recent jackd. NOTE: 
  this patch will only work if you are getting xrun messages from ALSA.  
  It has to be reworked if your latencies are not actual xruns.

  then, once the patched jackd is running, you can enable user-triggered
  tracing via:

echo 1 > /proc/sys/kernel/trace_user_triggered

  then you should start seeing jackd's latency path measured, not the
  kernel's internal critical sections. [ Tracing overhead tip: for
  user-triggered tracing it is enough to have CONFIG_WAKEUP_TIMING and 
  CONFIG_LATENCY_TRACE enabled, the other debugging options can be 
  turned off, to minimize overhead. ]

Ingo

diff -dupPNr jackit.0/drivers/alsa/alsa_driver.c 
jackit.1/drivers/alsa/alsa_driver.c
--- jackit.0/drivers/alsa/alsa_driver.c 2004-11-26 17:24:24.0 +
+++ jackit.1/drivers/alsa/alsa_driver.c 2004-11-30 13:41:24.521791456 +
@@ -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(, 0);
snd_pcm_status_get_trigger_tstamp(status, );
timersub(, , );
*delayed_usecs = diff.tv_sec * 100.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,12 @@ alsa_driver_wait (alsa_driver_t *driver,
nfds++;
}
 
+   {   // Trigger off trace every other poll...
+   static unsigned int xruntrace_count = 0;
+   if ((xruntrace_count++ % 1) == 0)
+   gettimeofday(0,1);
+   }
+  
poll_enter = jack_get_microseconds ();
 
if (poll_enter > driver->poll_next) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-31 Thread Ingo Molnar

* Fernando Lopez-Lezcano [EMAIL PROTECTED] wrote:

 Do a tar cvf usr.tar /usr just to read/write a lot to disk (this 
 within the same SATA disk). Watch memory being used in a system 
 monitor applet up to 100%. After a while, hard to say how long (maybe 
 10/15 minutes?) the system eventually can get into a state where Jack 
 starts printing messages of the type delay of 3856.000 usecs exceeds 
 estimated spare time of 2653.000; restart ... (if I understand 
 correctly this means interrupts are being delayed on their way to 
 Jack, or at least Jack thinks they are arriving too late), along with 
 some less frequent xun notices.
 
 Now the strange thing is that this condition seems to be persistent.  
 Nothing I do after it starts to happen seems to halt those messages.  
 Including stopping Jack and starting it again, and even (tried it 
 once) stopping the alsa sound driver and loading it again. Nothing out 
 of the ordinary in dmesg or /var/log/messages. I would guess that 
 something breaks inside the kernel with regards to interrupt 
 handling and/or whatever Jack uses to measure time inside the kernel?  
 Interrupts are prioritized correctly (rtc, then audio and jack runs at 
 lower realtime priority than the audio interrupts), everything else 
 looks fine.

are the messages unstoppable, even if the system is completely idle? And 
you get this only with the SMP kernel, correct?

i dont know what's going on, but here are a couple of ideas to debug 
this further:

- could you check whether there are any SCHED_FIFO tasks that shouldnt 
  be there:

ps -meo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep FF

  we had bugs in the past that caused RT priorities to 'leak' on SMP 
  systems.

- please enable all latency tracing options like Lee suggested, and do 
  echo 0  /proc/sys/kernel/preempt_max_latency to get some traces. 

- if everything fails and automatic latency tracing does not show 
  anything out of ordinary, then you could try to do user-triggered 
  tracing of jackd's critical path. This is more laborous to do, but
  should pinpoint the latency reason in a pretty sure way.

  user-triggered tracing is done via adding those special gettimeofday 
  calls to jackd and recompiling jackd. I've attached an older hack
  against jackd below, you might need to merge it to recent jackd. NOTE: 
  this patch will only work if you are getting xrun messages from ALSA.  
  It has to be reworked if your latencies are not actual xruns.

  then, once the patched jackd is running, you can enable user-triggered
  tracing via:

echo 1  /proc/sys/kernel/trace_user_triggered

  then you should start seeing jackd's latency path measured, not the
  kernel's internal critical sections. [ Tracing overhead tip: for
  user-triggered tracing it is enough to have CONFIG_WAKEUP_TIMING and 
  CONFIG_LATENCY_TRACE enabled, the other debugging options can be 
  turned off, to minimize overhead. ]

Ingo

diff -dupPNr jackit.0/drivers/alsa/alsa_driver.c 
jackit.1/drivers/alsa/alsa_driver.c
--- jackit.0/drivers/alsa/alsa_driver.c 2004-11-26 17:24:24.0 +
+++ jackit.1/drivers/alsa/alsa_driver.c 2004-11-30 13:41:24.521791456 +
@@ -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 * 100.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,12 @@ alsa_driver_wait (alsa_driver_t *driver,
nfds++;
}
 
+   {   // Trigger off trace every other poll...
+   static unsigned int xruntrace_count = 0;
+   if ((xruntrace_count++ % 1) == 0)
+   gettimeofday(0,1);
+   }
+  
poll_enter = jack_get_microseconds ();
 
if (poll_enter  driver-poll_next) {
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2005-08-31 Thread Jack O'Quin
Ingo Molnar [EMAIL PROTECTED] writes:

 - if everything fails and automatic latency tracing does not show 
   anything out of ordinary, then you could try to do user-triggered 
   tracing of jackd's critical path. This is more laborous to do, but
   should pinpoint the latency reason in a pretty sure way.

   user-triggered tracing is done via adding those special gettimeofday 
   calls to jackd and recompiling jackd. I've attached an older hack
   against jackd below, you might need to merge it to recent jackd. NOTE: 
   this patch will only work if you are getting xrun messages from ALSA.  
   It has to be reworked if your latencies are not actual xruns.

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).  

Ingo's suggested ALSA backend patch is not presently included.

There are probably some other places where these macros could usefully
be added.  We will integrate patches adding them in appropriate spots.
They do no harm in vanilla kernels without tracing enabled.

-- 
  joq
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-31 Thread Fernando Lopez-Lezcano
On Wed, 2005-08-31 at 00:35, Ingo Molnar wrote:
 * Fernando Lopez-Lezcano [EMAIL PROTECTED] wrote:
 
  Do a tar cvf usr.tar /usr just to read/write a lot to disk (this 
  within the same SATA disk). Watch memory being used in a system 
  monitor applet up to 100%. After a while, hard to say how long (maybe 
  10/15 minutes?) the system eventually can get into a state where Jack 
  starts printing messages of the type delay of 3856.000 usecs exceeds 
  estimated spare time of 2653.000; restart ... (if I understand 
  correctly this means interrupts are being delayed on their way to 
  Jack, or at least Jack thinks they are arriving too late), along with 
  some less frequent xun notices.
  
  Now the strange thing is that this condition seems to be persistent.  
  Nothing I do after it starts to happen seems to halt those messages.  
  Including stopping Jack and starting it again, and even (tried it 
  once) stopping the alsa sound driver and loading it again. Nothing out 
  of the ordinary in dmesg or /var/log/messages. I would guess that 
  something breaks inside the kernel with regards to interrupt 
  handling and/or whatever Jack uses to measure time inside the kernel?  
  Interrupts are prioritized correctly (rtc, then audio and jack runs at 
  lower realtime priority than the audio interrupts), everything else 
  looks fine.
 
 are the messages unstoppable, even if the system is completely idle? And 
 you get this only with the SMP kernel, correct?

That's correct. I have to try harder with a UP kernel but I'm short on
time. I should see how idle I can get the system (ie: logout, start
stopping processes), but quitting jack and all related apps and/or
restarting alsa does not fix the problem. Top does not show anything
strange in terms of cpu usage.

 i dont know what's going on, but here are a couple of ideas to debug 
 this further:
 
 - could you check whether there are any SCHED_FIFO tasks that shouldnt 
   be there:
 
 ps -meo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep FF

Seems to be fine (I'm doing this remotely so I can't look at the screen
to see if jack is still spewing messages):

- 2 FF  99   - 139   0  0.0 Smigration_thre -
- 3 FF   1   -  41   0  0.0 Sksoftirqd  -
- 4 FF   1   -  41   0  0.0 Sksoftirqd  -
- 5 FF   1   -  41   0  0.0 Sksoftirqd  -
- 6 FF   1   -  41   0  0.0 Sksoftirqd  -
- 7 FF   1   -  41   0  0.0 Sksoftirqd  -
- 8 FF   1   -  41   0  0.0 Sksoftirqd  -
-10 FF  99   - 139   0  0.0 Swatchdog   -
-11 FF  99   - 139   1  0.0 Smigration_thre -
-12 FF   1   -  41   1  0.0 Sksoftirqd  -
-13 FF   1   -  41   1  0.0 Sksoftirqd  -
-14 FF   1   -  41   1  0.0 Sksoftirqd  -
-15 FF   1   -  41   1  0.0 Sksoftirqd  -
-16 FF   1   -  41   1  0.0 Sksoftirqd  -
-17 FF   1   -  41   1  0.0 Sksoftirqd  -
-19 FF  99   - 139   1  0.0 Swatchdog   -
-20 FF   1   -  41   0  0.0 S   worker_thread  -
-21 FF   1   -  41   1  0.0 S   worker_thread  -
-27 FF  49   -  89   0  0.0 S   irqd   -
-   295 FF  80   - 120   0  0.0 S   irqd   -
-   313 FF  49   -  89   0  0.0 S   irqd   -
-   346 FF  46   -  86   0  0.0 S   irqd   -
-   378 FF  50   -  90   0  0.0 S   irqd   -
-   408 FF  44   -  84   0  0.0 S   irqd   -
-   421 FF  60   - 100   0  0.0 S   irqd   -
-   923 FF  42   -  82   0  0.0 S   irqd   -
-   947 FF  41   -  81   0  0.0 S   irqd   -
the next line is the soundcard interrupt:
-  1033 FF  70   - 110   0  0.0 S   irqd   -
-  1046 FF  69   - 109   0  0.0 S   irqd   -
-  1205 FF  59   -  99   0  0.0 S   irqd   -
-  3946 FF  37   -  77   0  0.0 S   irqd   -
-  3947 FF  36   -  76   0  0.0 S   irqd   -
-  3972 FF  35   -  75   0  0.0 S   irqd   -
-  4434 FF  34   -  74   0  0.0 S   irqd   -
These guys should be jackd (no clients are running):
-  4674 FF  61   - 101   1  0.2 SLl  -  -
-  4671 FF  72   - 112   1  0.0 SLsl -  -
-  4672 FF  62   - 102   1  0.6 SLsl -  -

Interrupt lines:
# cat /proc/interrupts
   CPU0   CPU1
  0: 112487   51273672  IO-APIC-edge   [.N/  0]  timer
  1:  1638  IO-APIC-edge   [../  0]  i8042
  7:  2  1  IO-APIC-edge   [..P.../  0]  parport0
  8:  0  1  IO-APIC-edge   [.N/  0]  rtc
  9:  0  0  IO-APIC-level  [../  0]  acpi
 12:128  25211  IO-APIC-edge   [../  0]  

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

2005-08-31 Thread Florian Schmidt
On Wed, 31 Aug 2005 07:08:08 -0500
Jack O'Quin [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

Flo


-- 
Palimm Palimm!
http://tapas.affenbande.org
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-30 Thread Fernando Lopez-Lezcano
On Tue, 2005-08-30 at 19:39, Lee Revell wrote:
> On Tue, 2005-08-30 at 19:03 -0700, Fernando Lopez-Lezcano wrote:
> > Hi, I'm starting to look at a strange problem. The configuration is:
> > hardware: AMD X2 4400+ dual core, NForce3 chipset, Midiman 66 soundcard
> > software: 2.6.13 smp + patch-2.6.13-rt1, PREEMPT_DESKTOP
> >   jack 0.100.4, current cvs
> >   alsa 1.0.10rc1
> > 
> 
> Enable all latency debug options and post the contents
> of /proc/latency_trace when this happens. 

Will try to, I'm about to go on a trip so that may have to wait. 

> Also what file system are you using? 

Ext3, Jack mounts its pipes and stuff in /dev/shm

>  And is the SMT scheduler enabled?

Is this it?: CONFIG_SCHED_SMT=y

-- Fernando


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-30 Thread Lee Revell
On Tue, 2005-08-30 at 19:03 -0700, Fernando Lopez-Lezcano wrote:
> Hi, I'm starting to look at a strange problem. The configuration is:
> hardware: AMD X2 4400+ dual core, NForce3 chipset, Midiman 66 soundcard
> software: 2.6.13 smp + patch-2.6.13-rt1, PREEMPT_DESKTOP
>   jack 0.100.4, current cvs
>   alsa 1.0.10rc1
> 

Enable all latency debug options and post the contents
of /proc/latency_trace when this happens.  Also what file system are you
using?  And is the SMT scheduler enabled?

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-30 Thread Lee Revell
On Tue, 2005-08-30 at 19:03 -0700, Fernando Lopez-Lezcano wrote:
 Hi, I'm starting to look at a strange problem. The configuration is:
 hardware: AMD X2 4400+ dual core, NForce3 chipset, Midiman 66 soundcard
 software: 2.6.13 smp + patch-2.6.13-rt1, PREEMPT_DESKTOP
   jack 0.100.4, current cvs
   alsa 1.0.10rc1
 

Enable all latency debug options and post the contents
of /proc/latency_trace when this happens.  Also what file system are you
using?  And is the SMT scheduler enabled?

Lee

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: jack, PREEMPT_DESKTOP, delayed interrupts?

2005-08-30 Thread Fernando Lopez-Lezcano
On Tue, 2005-08-30 at 19:39, Lee Revell wrote:
 On Tue, 2005-08-30 at 19:03 -0700, Fernando Lopez-Lezcano wrote:
  Hi, I'm starting to look at a strange problem. The configuration is:
  hardware: AMD X2 4400+ dual core, NForce3 chipset, Midiman 66 soundcard
  software: 2.6.13 smp + patch-2.6.13-rt1, PREEMPT_DESKTOP
jack 0.100.4, current cvs
alsa 1.0.10rc1
  
 
 Enable all latency debug options and post the contents
 of /proc/latency_trace when this happens. 

Will try to, I'm about to go on a trip so that may have to wait. 

 Also what file system are you using? 

Ext3, Jack mounts its pipes and stuff in /dev/shm

  And is the SMT scheduler enabled?

Is this it?: CONFIG_SCHED_SMT=y

-- Fernando


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/