Re: [PATCH] [IMPORTANT] Re: 2.4.7 softirq incorrectness.

Andrea Arcangeli (andrea@suse.de)
Sat, 28 Jul 2001 20:02:57 +0200


On Sat, Jul 28, 2001 at 09:41:41PM +0400, kuznet@ms2.inr.ac.ru wrote:
> > - cpu_raise_softirq(cpu, TASKLET_SOFTIRQ); <<<<
> > - tasklet_unlock(t);
> > - }
> > - local_irq_restore(flags); <<<<
>
> But Andrea has just tought me that this is invalid to call cpu_raise_softirq
> in such context. No differences of netif_rx() here, all the issues are
> the same.

cpu_raise_softirq is valid in any context. calling cpu_raise_softirq
there was correct (__cpu_raise_softirq would been too weak).

For performance reasons we should instead __cpu_raise_sofirq (instead of
cpu_raise_softirq) in tasklet_action that runs within do_softirq but
that is a minor optimization.

> I am afraid, when do not feel ground. After your analysis even direction to
> ground is lost. :-)

:) As far I can see returning to the correct 2.4.5 tasklet logic will
fix the tasklet problem (only tasklets had a problem in 2.4.7).

Andrea
-
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/