[PlanetCCRMA] jackd xruns problem: solved? (FC2 2.6.7rc4 O7 kernel)

Fernando Pablo Lopez-Lezcano nando@ccrma.Stanford.EDU
Sat Aug 14 18:15:01 2004

On Sat, 2004-08-14 at 12:48, Fernando Pablo Lopez-Lezcano wrote:
> On Sat, 2004-08-14 at 08:26, Steve Harris wrote:
> > On Fri, Aug 13, 2004 at 01:17:52 -0700, Fernando Pablo Lopez-Lezcano wrote:
> > > > Then I tried to compile a 2.6.8-rc4 with CK2 and.. no more xruns!
> > > > (with # jackd --realtime -Rv -d alsa -p 128 -n 3 -r 44100
> > > >  and same applications running).
> > > > 
> > > > I must admit, I didn'to do hard testing by now, but
> > > > I think it could be encouraging!
> > > 
> > > There has been a lot of progress in the last few weeks. I'm currently
> > > running 2.6.8rc4 plus Ingo Molnar's volutary scheduling O5 and it is
> > > looking very very good. The gurus are hard at work tracking hard stuff
> > > that deals with mlockall...[*]
> > 
> > How serious are the mloclall problems? Any chance of throwing an RPM or
> > kernel source over the fence?
> Yes, I could do that. In fact I should have already done that.

Ok, Steve and other Fedora Core 2 bleeding edge users, I have the latest
and greatest (as of yesterday, 2.6.8 final was released in between :-)
over the fence. Has been tested to boot on all of two (2) machines, a P4
latop and an Athlon64 desktop...

These are experimental packages. 
You have been warned. 

I would only use these packages if you have been keeping up with the
2.6.x latency threads in the various mailing lists. 

I have just two _experimental_ packages - you have been warned, again -
that are available:
    2.6.7 rc4 + voluntary preemption O7
    post 1.0.6 rc2 cvs snapshot with full xrun debugging enabled

To install you should add the planetedge repository (temporarily) to
your /etc/apt/sources.list. Same as the "planetcore" line, just replace
"planetcore" with "planetedge. 

To install the kernel (this is all manual installs):
  apt-get install kernel#2.6.7-0.1.rc4O7.ll.rhfc2.ccrma
To install the matching alsa driver:
  apt-get install kernel-module-alsa-2.6.7-0.1.rc4O7.ll.rhfc2.ccrma
(only uniprocessor i686 builds for now...)

Reboot and cross your fingers :-)

Tunables once you are up and running:

You should activate kernel preemption (not on by default):
  echo "1"> /proc/sys/kernel/kernel_preemption
Make sure voluntary preemption is on (at level 3):
  cat /proc/sys/kernel/voluntary_preemption

Max sectors (or whatever) per transfer for the disks, optional:
  cat /sys/block/hda/queue/max_sectors_kb
(I set this to 16, did not really experiment a lot)

Enable reporting kernel traces for alsa xruns, optional:
  echo "2"> /proc/asound/card0/pcm0p/xrun_debug
  echo "2"> /proc/asound/card0/pcm0c/xrun_debug

Enable sysrq magic key combination to force sinc and reboot if machine
hangs :-)
  echo "1">/proc/sys/kernel/sysrq

Disable threaded interrupts for your soundcard(optional), use "cat
/proc/interrupts" to find out which irq is used by your soundcard, then
find it in /sys/irq/, see the "threaded variable under your soundcard,
for my laptop this is what I use:

  echo "0"> /proc/irq/9/Intel\ 82801CA-ICH3/threaded

And finally... let me know what happens!!
-- Fernando