* Nick Piggin <[EMAIL PROTECTED]> 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

Reply via email to