[linux-audio-user] Re: Recent LKML discussion on preempt/latency in 2.6 kernels

Fernando Pablo Lopez-Lezcano nando at ccrma.Stanford.EDU
Thu Mar 25 14:35:26 EST 2004


On Thu, 2004-03-25 at 01:36, Sampo Savolainen wrote:
> Fernando Pablo Lopez-Lezcano <nando at ccrma.stanford.edu>:
> > Caveats: FC1 qt + dri + 2.6.4 + SCHED_FIFO = hanging machine, as
> > reported a while back. Yuck. Turning off dri solves this one at the cost
> > of no acceleration. 
> > 
> > With all the above I'm able to run Jack with SCHED_FIFO and no xruns in
> > a short test run at 64x2 (with a background task tar'ing /usr to a
> > file). But with DRI off, Qjackctl and some real Jack applications I do
> > get xruns even at 128x2, I guess my cpu is maxing out...
> 
> I'm confused. I probably have misunderstood something, but: First you say,
> that you get a "hanging machine" with SCEHD_FIFO enabled applications, but
> later you say that you can run Jack with SCHED_FIFO with all the different
> configurations/kernels you mention.

The hangs were traced to a bad patch in the DRM modules (thanks to
Andrew Morton and Takashi Iwai for their help).  

> What do you mean with a hanging machine? Do you get 'random' lockups, or
> does your system hang always when some specific software is run with 
> SCHED_FIFO?

They only happen with the combination of stuff mentioned above. And they
are repeatable hangs. Actually they are not really hangs, they are Ooops
triggered by the CONFIG_DEBUG_SPINLOCK_SLEEP kernel option which detects
that a lock is being held while trying to reschedule. 

The patch that "fixes" the latency problems with Radeon in the DRM
modules is bad (what changes from a) to b)). It was a literal
translation of a very old patch I had aquired somehow. But it does
something illegal (trying to reschedule while a lock is being held). So
the code will have to be rewritten somehow. 

> Do you get lockups with this kernel & setup (option d in your email)?
> 
> Could you give a list of specific patches (and urls) you have applied to
> 2.6.4-1.286.2.ll (option d), or maybe a link to the source package?

I'd prefer to not propagate an obviously broken package :-)

I was adding:
  realtime security module (LSM) 0.0.4
    http://www.joq.us/realtime
  low latency scheduling additions by Takashi Iwai
    http://kerneltrap.org/node/view/2702
  drm scheduling additions (radeon/mga/r128) --> broken!
I can send you the patches off the list if you want them. 
That's all there is...
-- Fernando





More information about the Linux-audio-user mailing list