Fernando Pablo Lopez-Lezcano <[EMAIL PROTECTED]> 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