Re: queue_work from interrupt Real time preemption2.6.11-rc2-RT-V0.7.37-03

From: Mark Gross
Date: Wed Feb 16 2005 - 18:04:24 EST


On Wednesday 16 February 2005 09:59, George Anzinger wrote:
> David S. Miller wrote:
> > On Wed, 16 Feb 2005 06:16:45 +0100
> >
> > Ingo Molnar <mingo@xxxxxxx> 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.

That's a problem (for my idea).

>
> For what its worth, I, a short while ago, put together a workqueue package
> to a) allow easy priority setting for work queues and b) change either
> softirq, tasklet or bh code to use workqueues. This was done mostly with
> CPP macros and a few conversion routines. I then converted the network
> code to use this package simply by adding a key include to a couple of
> files. The result worked on UP but ended up hanging the network code on
> SMP. Everything else still worked, but not the net stuff. I never ran
> down the problem as the "boss" was not interested in SMP...
>

Thanks, my implementation doesn't lock up with my unit testing (scp kernel
tarballs). However; I did have my scheduling pollocy for the net_tx net_rx
and timer set to SCHED_RR using the same priority for each. I'll fiddle with
t relative prioites across the different soft IRQ's an see how much smoke I
can cause.

--mgross


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