[LAU] Regular Xruns?

Ken Restivo ken at restivo.org
Thu Aug 6 22:04:12 EDT 2009


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



More information about the Linux-audio-user mailing list