[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