[PlanetCCRMA] I had time for a quick test

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Sun Dec 31 19:05:01 2006


On Fri, 2006-12-22 at 02:02 -0800, Tracey Hytry wrote:
> I just got a chance to boot up one of Ingo's kernels from his yum repository.
> This was done on a FC5 machine with the planet apps installed.
> The machine is an athlon64@2GHz, 2gig ram, using the xorg nv video driver.
> Running the 2.6.20-rc1.1.rt3.0001 kernel.
> 
> I started jack via qjackctl, using 2 periods/64 frames(2.9msec latency) 
> using a delta 1010(ICE1712) sound card. I then loaded up hydrogen, aeolus, 
> and whysynth;  patching an external midi keyboard to the 2 softsynths, 
> while hydrogen played one of it's demos.  I got no xruns while playing 
> the keyboard at that setting, though any lower latency setting did not work.
> 
> I went and checked the interrupts and I think that the "rtirq" script 
> might not be working with the kernel.  Below is what I got from looking 
> at the interrupts:

That's correct. The newer kernels report the IRQ's different in ps
("IRQ-x" instead of "IRQ x") and that breaks Rui's script. This is a
quick fix (but will break for other kernels):

----
--- rtirq.sh~   2006-12-16 01:51:44.000000000 +0000
+++ rtirq.sh    2006-12-21 23:00:04.000000000 +0000
@@ -105,7 +105,7 @@ function rtirq_exec_num ()
                done
        fi
        # And now the proper threading prioritization...
-       PID=`${RTIRQ_PIDOF} "IRQ ${IRQ}"`
+       PID=`${RTIRQ_PIDOF} "IRQ-${IRQ}"`
        if [ $((${PID})) -gt 0 -a -z "`echo ${RTIRQ_TRAIL} | grep :
${IRQ}:`" ]
        then 
                PREPEND="`basename $0`: ${ACTION} [${NAME2}] irq=${IRQ}
pid=${PID}"
----

I have a newer script that works for both but I changed quite a few
things and I'm waiting for Rui to comment...

The latest kernels with Ingo's patch are very solid so far. I've left
them running overnight with several Jack apps running and have seen no
xruns (128x2). It had been a long time since I had seen that
performance...[*]

Ingo did find a problem in the mainline kernel (had been there for a
while) that resulted in the latency peaks I have been seeing for quite a
while, see this for details:

http://lkml.org/lkml/2006/12/21/114

-- Fernando

[*] but it looks like both freqtweak and jamin leak memory. I found the
machine in swap hell in the morning but after managing to login in the
text console and killing them all went back to normal... and there were
_no_ xruns!


> tracey@gaia /tmp --> /etc/rc.d/init.d/rtirq status
> 
>   PID CLS RTPRIO  NI PRI %CPU STAT COMMAND
>     5 FF      99   - 139  0.0 S    softirq-timer/0
>     4 FF      50   -  90  0.0 S    softirq-high/0
>     6 FF      50   -  90  0.0 S    softirq-net-tx/
>     7 FF      50   -  90  0.0 S    softirq-net-rx/
>     8 FF      50   -  90  0.0 S    softirq-block/0
>     9 FF      50   -  90  0.0 S    softirq-tasklet
>    10 FF      50   -  90  0.0 S    softirq-sched/0
>    11 FF      50   -  90  0.0 S    softirq-hrtimer
>    12 FF      50   -  90  0.0 S    softirq-rcu/0
>    66 FF      50   -  90  0.0 S<   IRQ-9
>   294 FF      50   -  90  0.0 S<   IRQ-8
>   336 FF      50   -  90  0.0 S<   IRQ-14
>   338 FF      50   -  90  0.0 S<   IRQ-15
>   400 FF      50   -  90  0.0 S<   IRQ-12
>   401 FF      50   -  90  0.0 S<   IRQ-1
>   952 FF      50   -  90  0.0 S<   IRQ-16
>   963 FF      50   -  90  0.0 S<   IRQ-6
>  1139 FF      50   -  90  0.0 S<   IRQ-18
>  1148 FF      50   -  90  0.5 S<   IRQ-19
>  2026 FF      50   -  90  0.0 S<   IRQ-17
>  2340 FF      50   -  90  0.3 S<   IRQ-7
> 
>    ---and--
> 
> tracey@gaia /proc --> cat interrupts
> 
>            CPU0
>   0:      86437   IO-APIC-edge      timer
>   1:       1263   IO-APIC-edge      i8042
>   6:          3   IO-APIC-edge      floppy
>   7:          0   IO-APIC-edge      MOTU MTPAV
>   8:          1   IO-APIC-edge      rtc
>   9:          0   IO-APIC-fasteoi   acpi
>  12:       7301   IO-APIC-edge      i8042
>  14:      17838   IO-APIC-edge      ide0
>  15:       2268   IO-APIC-edge      ide1
>  16:          0   IO-APIC-fasteoi   libata
>  17:       2542   IO-APIC-fasteoi   eth0
>  18:          0   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
>  19:          0   IO-APIC-fasteoi   ICE1712
> NMI:          0
> LOC:       3325
> ERR:          0
> MIS:          0