Re: [LAU] Regular Xruns?

From: Ken Restivo <ken@email-addr-hidden>
Date: Fri Aug 07 2009 - 05:04:12 EEST

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
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
Received on Fri Aug 7 08:15:03 2009

This archive was generated by hypermail 2.1.8 : Fri Aug 07 2009 - 08:15:03 EEST