Re: Today Linus redesigns the networking driver interface (was Re: tulip driver in ...)

Linus Torvalds (torvalds@transmeta.com)
Sat, 19 Sep 1998 13:35:21 -0700 (PDT)


On Sat, 19 Sep 1998 kuznet@ms2.inr.ac.ru wrote:
>
> > I thought the network drivers pulled the send queue on
> > their own, but looking closer it's obvious that they don't (and that they
> > should not for locking issues).
>
> Linus, could you answer one question?
> Why linux does not use spl-like, when handling irqs?

SPL's are just completely braindamaged. Linux does the only sane thing,
which is to force all interrupts to be single-threaded on a per-interrupt
basis (ie the same interrupt cannot re-enter itself), but otherwise
independent of each other.

The whole notion of "interrupt priority" is just completely broken. There
is no such thing.

> Is it just historical fact, or you had some reasons to use bh instead?

The use of bh's is not something I enforced on the network layer, it's
just how people thought it would work the best. The notion of a
single-threaded software interrupt is not new per se, and the first thing
that used it was the serial drivers for completely unrelated reasons-

> Do you know any alternative to bsd splimpl()?
>
> I ask it because to all that I know our net_bh() is the reason,
> why bsd and NT behave better at super high packet load.

spl-levels is not the answer. net_bh() may be a bad implementation, but I
think you're dreaming if you think NT and BSD behave better because of
spl-levels.

Linus

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