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

Ingo Molnar
2004-07-22T07:06:18Z

* Nick Piggin <nickpiggin@yahoo.com.au> wrote:

> Given that we're looking for something acceptable for 2.6, how about
> adding
>
> if (rt_task(current))
> kick ksoftirqd instead
>
> Otherwise, what is the performance penalty of doing all softirq
> processing from ksoftirqd?

this is insufficient too. An RT task might be _waiting to run_ and
spending our time in a non-RT context (including the idle task) doing
softirq processing might delay it indefinitely.

what we could do is to add a rq->nr_running_rt and do the deferred
softirq processing unconditionally if (rq->nr_running_rt). I'd still add
a sysctl to make it unconditional for user processes too - if someone
really cares about latency and doesnt want to make all his tasks RT.
I'll code this up for the next version of the patch.

Ingo