[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [a-devel] AGNULA/DeMuDi 1.1.1 and 2.6.x kernel



Fernando Pablo Lopez-Lezcano <nando@ccrma.Stanford.EDU> writes:

> On Thu, 2004-06-03 at 13:03, Free Ekanayaka wrote:
> > Fernando, thanks for this deep analysis of the issue.
> > 
> > I'd like    to   know whether   this  bug    holds even  for    Debian
> > glibc/2.6.x. 
> 
> Apparently so, Jack O'Quin mentioned that the hack seemed to make some
> problems he had been seeing in jack under Debian/2.6 dissapear. BTW, I
> should have been more specific, this happens only with NPTL threading
> (not the normal pthread library). More testing is needed, I could reach
> a state where jack would pretty much hang the machine... killing jack
> returned things to normal (the machine was not hung, just very very very
> slow). 

I experimented with this recently.  My thanks to Fernando for showing
that the problem lies somewhere in the interface between the pthreads
library and the kernel.  I was having trouble figuring that out.  The
same libc6 that works fine with 2.4 kernels has trouble with 2.6.
Defining the environment variable `LD_ASSUME_KERNEL=2.4.19' makes a
massive improvement on my system.

For the record, I've got Debian woody plus lots of sarge packages,
including libc6-2.3.2.ds1-12.  (The NPTL version of libc6 is not
currently installed, but I will probably try it again as it also seems
to make a difference.)  I tested with a vanilla 2.6.6 kernel built
from kernel.org sources, plus realtime-lsm-0.1.1.  I'm using the
current CVS version of JACK (0.98.3), which is not very different from
the current release (0.98.1).

I would expect similar results with Debian unstable using the latest
2.6, realtime-lsm, and JACK packages, but I haven't tried them here.
I only have one test system, and must continually maintain the
realtime-lsm for each kernel.org version.  That's about as much as I
can keep track of on a single machine.  You may need a more recent
kernel, there were some significant latency improvements in 2.6.6.

With those components and LD_ASSUME_KERNEL set, I find that JACK runs
very well on vanilla 2.6.6 and works fine at quite low latencies.  I'm
currently running alsaplayer and JAMin at -p64 with 5 xruns so far on
a lightly loaded system.  I have not yet done anywhere near as much
testing with that platform as with 2.4.  But, these results are *far*
better than I was seeing before setting the environment variable.  The
2.4 lowlatency kernel is still somewhat more responsive than 2.6, but
the differences are now subtle, which they were not before.

Note that I have *not* been running Nando's patch so far (but I will).
My hypothesis is that it is only required for the NPTL library.  But,
I don't really know that for sure yet.
-- 
  joq



Reply to: