On Fri, Aug 07, 2009 at 01:11:01AM +0100, James Stone wrote:
Arnold Krille wrote:
On Thursday 06 August 2009 22:05:42 James Stone
wrote:
Actually, I get xruns with qjackctl every 14
minutes...
That time is imho to long for the usual culprits like graphics or
wireless.
Is your mail-app checking mails every 14 or 15 minutes? Is your
instant messenger rechecking its connection?
Maybe cron is the reason as todays systems configure it so that it
runs every quarter of an hour. I had that problem once (for me it was
cron-triggered backups during recording sessions) and "solved" it by
editing the systems crontab. It then only did the run-crons when
"pidof jackd" didn't return a pid ie. if no jackd was running...
Good ideas.. I tried to kill everything non-essential, but am still
getting an xrun every 14 minutes.. Here is the full top just 1 second
before the xrun occurred:
Tasks: 53 total, 1 running, 52 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si,
0.0%st
Mem: 1036260k total, 675232k used, 361028k free, 46480k buffers
Swap: 1967920k total, 4k used, 1967916k free, 486244k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2276 root 15 -5 0 0 0 S 0.7 0.0 0:00.86 kjournald
9004 james 20 0 45760 44m 25m S 0.3 4.4 2:47.60 qjackctl
1 root 20 0 2168 728 628 S 0.0 0.1 0:01.48 init
2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0.0 0.0 0:00.00
migration/0
4 root 15 -5 0 0 0 S 0.0 0.0 0:00.18
ksoftirqd/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 15 -5 0 0 0 S 0.0 0.0 0:02.06 events/0
7 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
38 root 15 -5 0 0 0 S 0.0 0.0 0:00.18 kblockd/0
41 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
42 root 15 -5 0 0 0 S 0.0 0.0 0:00.00
kacpi_notify
140 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
175 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
176 root 20 0 0 0 0 S 0.0 0.0 0:00.84 pdflush
177 root 15 -5 0 0 0 S 0.0 0.0 0:00.24 kswapd0
178 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
720 root 15 -5 0 0 0 S 0.0 0.0 0:00.00
ksuspend_usbd
723 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
747 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0
750 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
1155 root 15 -5 0 0 0 S 0.0 0.0 0:00.20 kjournald
1857 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kgameportd
2275 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2280 root 15 -5 0 0 0 S 0.0 0.0 0:00.92 kjournald
2281 root 15 -5 0 0 0 S 0.0 0.0 0:00.12 kjournald
2282 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2283 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2284 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2285 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2286 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
2287 root 15 -5 0 0 0 S 0.0 0.0 0:00.26 kjournald
3269 root 20 0 1788 416 348 S 0.0 0.0 0:00.00 klogd
4290 root 20 0 15636 1812 1132 S 0.0 0.2 0:00.00 gdm
4293 root 20 0 16020 3152 2392 S 0.0 0.3 0:00.06 gdm
4323 root 20 0 62496 46m 7268 S 0.0 4.6 16:24.08 Xorg
4439 root 20 0 1784 524 460 S 0.0 0.1 0:00.00 getty
4440 root 20 0 1784 524 460 S 0.0 0.1 0:00.00 getty
4441 root 20 0 1784 528 460 S 0.0 0.1 0:00.00 getty
4442 root 20 0 1784 524 460 S 0.0 0.1 0:00.00 getty
4443 root 20 0 1784 524 460 S 0.0 0.1 0:00.00 getty
4444 root 20 0 1784 524 460 S 0.0 0.1 0:00.00 getty
4468 james 20 0 7152 1160 932 S 0.0 0.1 0:00.04
WindowMaker
4605 james 20 0 9952 5520 3756 S 0.0 0.5 0:19.76
WindowMaker
8429 james 20 0 12952 3184 2484 S 0.0 0.3 0:00.46 aterm
8430 james 20 0 5300 1996 1344 S 0.0 0.2 0:00.00 bash
9010 james 20 0 22080 21m 4144 S 0.0 2.1 0:45.02 jackd
9642 james 20 0 13084 3300 2484 S 0.0 0.3 0:01.00 aterm
proc/interrupts:
CPU0
0: 229 XT-PIC-XT timer
1: 1349 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
4: 2 XT-PIC-XT ehci_hcd:usb3
5: 357787 XT-PIC-XT EMU10K1
6: 5 XT-PIC-XT floppy
7: 127 XT-PIC-XT NVidia nForce2
8: 4 XT-PIC-XT rtc
9: 0 XT-PIC-XT acpi
10: 131847 XT-PIC-XT ohci_hcd:usb1, nvidia
11: 239397 XT-PIC-XT ohci_hcd:usb2, eth0
12: 3 XT-PIC-XT bttv0
14: 23608 XT-PIC-XT ide0
15: 20132 XT-PIC-XT ide1
NMI: 0 Non-maskable interrupts
LOC: 402378 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0
uname -a
Linux 2.6.24-1-686 #1 SMP Thu May 8 02:16:39 UTC 2008 i686 GNU/Linux
So, you can see I am using a vanilla kernel, but the fact it's only
every 14 mins seems very strange to me. It is often preceded by a slow
build-up of static on audio output, which stops when the xrun happens
(this isn't recorded to disk in ardour tho).Any ideas what might be
going on? Could it be hardware-related??
Nope, it's because you're running a vanilla kernel :-)
Thread convergence here with the discussion of Kim's article and the advantages of
Linux over OSX or Windoze.
Sure, JACK will run on OSX and now even on Windoze. But Linux has a RT kernel available,
which will let you prioritize your audio apps so that this kind of glitch NEVER happens,
if you have it set up correctly. THAT is, IMHO, the "killer app" or key
difference between Linux and other platforms. And I hope those other platforms never get
it, because I am coloured by ideology :-)
Seriously, I think this is why Kim suggested that getting the RT kernel included in
distros (or in mainline kernel) is important: so that musicians can just choose it from
GRUB at boot time and be off and running with their favorite distro, in RT mode, without
any hassle, and with performance outstripping any competitor.
Several years ago, when I first got my laptop, on one occasion I was compiling Ardour2
(which as you may know, takes as long to build as a kernel) on a dual-core 64-bit Intel
running JACK while I had quite a few tracks going with lots of LASDPA plugins, ecasound,
jack-rack, Rosegarden, and a half-dozen softsynths... and not a single glitch. (It's
here, BTW:
http://www.restivo.org/blog/archives/mmmm-carpets)
So, all politics aside, try it with an RT kernel, set your priorities correctly (RTC
highest, then your audio card IRQ, then jackd) and see what happens.
-ken