On 9/12/05, Eric Dantan Rzewnicki
<rzewnickie(a)rfa.org> wrote:
On Thu, Sep 08, 2005 at 08:38:02PM -0500, Reuben
Martin wrote:
On 9/7/05, guy <sayhi2guy(a)tiscali.co.uk>
wrote:
Hi
I'm just about to compile a 2.6.13 kernel for low latency audio work.
The docs I have accessed are either confusing (sorry if its just me ;0)
) or rendered out of date by kernel developments.
I know that some features such as pre-empt are now in the kernel. Which
patches (if any) would you folks advise that I should apply. I am also
unsure if should enable the 'big kernel lock' feature.
Thanks in advance for any help
realtime-preempt patches are the latest and
greatest for latency
improvements. They are very actively maintained by Ingo Molnar, same
guy who created the preempt patches for the 2.4 kernel series.
For historical clarification ( and someone correct me if I'm wrong on
any of this ), Ingo did a set of low latency patches for 2.2/2.4 that
basically showed that breaking up long code pathes could improve linux's
latency performance. These were proof of concept patches, in a sense,
but not accepted, nor intended, for the mainline kernel.
Andrew Morton created a smaller and more tightly focused set of
long-code-path-splitting low-latency patches for 2.4 inspired by Ingo's
earlier work. These were intended to find an approach to achieving
low-latency more acceptable to the kernel devs.
Robert Love created a set of Preemption patches for 2.4 that were
commonly applied along with Andrew's LL patches. The preemption patches
were a different approach to achieve low-latency which allowed code
paths which might run for a long time to be marked as pre-emptible.
I know all three of them contributed. I'm not sure who's was merged
into 2.5. I remember I used to use a combination of two diffferent
latency patch sets.
Much of Andrew and Robert's work on 2.4 was
incorporated into the 2.5
development kernel and thus the 2.6 series. However there were still
latency problems with 2.6, so Ingo has again taken the lead in producing
the current series of realtime-preemption patches. A lot of this work is
now present in the mainline 2.6.13.x kernel.
If I understand correctly, chunks of his patch are slowly absorbed
into the mainline a bit at a time while he continues to keep finding
ways to shorten the length of code paths.