Re: 2.4.7 softirq incorrectness.

Alexey Kuznetsov (kuznet@ms2.inr.ac.ru)
Tue, 24 Jul 2001 02:24:47 +0400 (MSD)


Hello!

> The first netif_rx is required to run from interrupt handler

No! netif_rx() is called from _any_ context. Check with grep.
So, this must be repaired in some way.

Actually, assumption that local_bh_enable() etc does not happen
with disabled irq was the biggest hole in Ingo's patch: all the functions
ever doing local_irq_save() assume that they _can_ be called with
disabled irqs (otherwise they would make local_irq_disable() instead)
and, hence, some spinlocks held.

> for the next interrupt (in old 2.4 kernels you had to wait for the next
> irq instead).

Well, not "had to", a small delay was purpose of this call yet.
Actually, now it can be replaced with a direct schedule ksoftirqd,
because we surely have softirq flood, when this place is reached.

Alexey

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