lkml.org 
[lkml]   [2005]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: queue_work from interrupt Real time preemption2.6.11-rc2-RT-V0.7.37-03
On Wed, 16 Feb 2005, David S. Miller wrote:
> On Wed, 16 Feb 2005 06:16:45 +0100
> Ingo Molnar <mingo@elte.hu> wrote:
> > Maybe the networking
> > stack would break if we allowed the TIMER softirq (thread) to preempt
> > the NET softirq (threads) (and vice versa)?
> The major assumption is that softirq's run indivisibly per-cpu.
> Otherwise the per-cpu queues of RX and TX packet work would
> get corrupted.
>
> See net/core/dev.c:softnet_data
>

How about a design to put softirq's into domains. That way you can group
together the threads that should not preempt each other (ie TX and RX) but
still allow prioritizing of different softirq threads. That way you don't
have one softirq thread preempting another thread on the same cpu that are
in the same group. I'm sure that the TX and RX is more of the exception
than the rule.

I guess you can have one implementation of this by having one thread per
group. Of course there would have to be an API developed to group
tasklets. Also it would be a little trickier to keep individual tasklets
within a group from running on two CPUs at once, and not sacrifice TX and
RX from running together on two different CPUS. But this is all feasible.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:10    [W:0.087 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site