HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd))

Poul-Henning Kamp phk at phk.freebsd.dk
Mon May 26 19:11:20 UTC 2008


In message <20080526161608.GE64397 at hoeg.nl>, Ed Schouten writes:

>The new TTY layer should still support line disciplines, [...]

Actually...  I think it shouldn't.

Line-disc's were introduced to interface weird-ass hardware like
digitizing tablets that had very high data rates, but very little
information (16 bit X, 16 bit Y and a couple of buttons, like modern
mice) which would cost inordinate amounts of CPU time to support
in userland on a VAX computer.

If_slip.c happened in the kernel because there was no tun device,
people cranked the speed up all they could (Hands up: who has changed
the Xtal on a VAX serial port for faster SLIP ?)

if_ppp happened because that was how if_slip did it.

Today there is no longer a market for line disciplines and in
practice we have only one: the POSIX mandated "termios", which also
emulates the older "termio" ioctls.

Anybody who cares to browse the three pages of text that RFC1055
contains, will see that implementing SLIP in userland using tun(4)
and the code on the other three pages of RFC1055 is a trivial task
not even worthy of a SoC student.

PPP over async is already much better handled in ppp(8) thanks
to Brians valiant effort back in the stoneage of the internet.

We should summarily kill the concept of line disciplines as a
modular component and decide that TTYs can be used with termios(4)
or raw mode and leave it at that.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-current mailing list