Subject: Re: libedit
To: Grey Wolf <greywolf@siva.captech.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: current-users
Date: 12/17/1996 12:05:56
Greywolf writes:

>Michael Richardson sez:
> *   It is too big given that most *real* ttys are being used for PPP
> * or other non-VDT uses. All that termios cruft, and the silos,
> * etc.. are just wrong for this.
>
>How do you figure?  You at least need the termios stuff to switch
>into raw mode to use PPP and other non-VDT uses.
>
>Perhaps, though, we should have a mechanism for detaching a given
>driver from a port and just attaching a low-level PPP driver.
>Or whatever.


Excuse me?  Last I looked there was both a SLIP and a PPP line
discipline.  Could you explain  what it is  you're asing that the line
discipline mechanism doesn't give?

And to disagree with Michael Richardson:

Pseudo-dma, or software silos, _are_ useful when using
character-at-a-time serial interfaces (i.e., that don't have silos or
fifos in hardware).  This is as true for SLIP and PPP as for anything
else.  The alternative is to disable interrupts longer, pushing
each arrived character further up the protocol stack.  This is a lose
on many platforms-- including, but not limited to, 486es with IDE and
16450 UARTS.

One thing that's easy to add to pdma, and that can help interactive
latency, is to add a 256-entry bitmask (or "stop list") to the
lower-layer (chip-specific) tty layers, telling them to force an
upcall of all pending data when a character in the "stop list" (i.e.,
whose whose entry in the bitmask is set) arrives.

I don't expect that would make much difference, though, until the whole
tty subystem is redone to hand up multiple characters per call,
instead of just one.