Re: Speeding up screen output for dialog

Theodore Y. Ts'o (tytso@mit.edu)
Wed, 4 Sep 1996 19:10:38 -0400


Date: Wed, 4 Sep 1996 09:55:13 +0200 (MET DST)
From: Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>

How about implementing an opost() method for each driver, similar to
the way put_char() is driver dependent? It would take a pointer to a
block of characters as well as a count and would then process the
characters as it seems best (either buffering with put_char() or
writing directly with write() ). This way, you wouldn't need an
extra buffer for the console. You'd still have a default opost()
somewhere in n_tty.c for drivers that don't implement this.

Well, that really is a layering violation, though. Termios parsing is
one of those things that only n_tty.c needs to know about, and putting
part of the OPOST handling in the driver seems really ugly. Digiboard
has asked for that sort of thing in the past, but they wanted much more
complete takeover of the line discpline, not just OPOST handling.

I have no doubt it would work from a performance standpoint, but the
layering issue is rather troubling. N_TTY isn't the only line displine,
after all, although granted it's the only one that's likely to be used
by the console driver.

- Ted