Re: [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch

Andrew Morton
2004-07-13T23:03:41Z

Andrea Arcangeli <andrea@suse.de> wrote:
>
> What I'm doing is basically to replace all might_sleep with cond_resched

I cannot see a lot of point in that. They are semantically different
things and should look different in the source.

And it's currently OK to add a might_sleep() to (say) an inline path which
is expended a zillion times because we know it'll go away for production
builds. If those things become cond_resched() calls instead, the code
increase will be permanent.

> cond_resched_lock is another story of course.

cond_resched_lock() doesn't work on SMP. I'll probably be removing it in
favour of unconditionally dropping the lock every N times around the loop,
to allow the other CPU (the one with need_resched() true) to get in there
and take it.

And please let me repeat: preemption is the way in which we wish to provide
low-latency. At this time, patches which sprinkle cond_resched() all over
the place are unwelcome. After 2.7 forks we can look at it again.

I've yet to go through Arjan's patch - I suspect a lot of it is not needed.