1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys
Bruce Evans 247b53374b Changed the maximum output queue count from (TTMAXHIWAT + 200) to
(TTMAXHIWAT + OBUFSIZ + 100) in case someone changes OBUFSIZ.  200
was to allow 100 above high water for ordinary writes and another
100 for kernel printfs.

Increased the reserved output queue count from 512 to the maximum
output queue count.  This prevents exhaustion of clists and increases
the output throughput for 8 cy lines by almost a factor of 2 (on
a system where there aren't many other open ttys so clists become
exhausted after about 4 active lines (or earlier if TTMAXHIWAT is
increased :-]).

ttwrite() behaves very badly when clists are exhausted:
(1) it sleeps on lbolt instead of on TSA_OLOWAT(tp).
    This could be fixed adequately by sleeping on TSA_OLOWAT(tp).
    The nonzero reserved count guaratees that space will become
    available independent of other ttys, and a reserved count
    of 512 is barely enough for efficiency.
(2) it drops output if space runs out in the middle of special
    output processing.  This is too hard to fix without hardening
    the reserved count.  The watermark processing guarantees that
    space doesn't run out only if the advertised space is guaranteed.

Increasing the reserved output queue count defeats the point of
dynamic allocation of clists.  Previously, about 2K of memory per
tty was reserved (the raw queue was already reserved).  Now, about
3.5K is reserved.  Reserving everything would take a whole 0.5K
more.
1995-12-15 02:18:06 +00:00
..
alpha Completed function declarations and added prototypes. 1995-11-22 07:43:53 +00:00
amd64 Added a prototype. Merged prototype lists. 1995-12-14 23:59:04 +00:00
compat/linux Restored a vm #include. 1995-12-14 22:35:45 +00:00
compile
conf GENERIC/LINT: Remove redundant quoting on some option lines. 1995-12-14 14:35:36 +00:00
ddb Reduced and cleaned up #includes. 1995-12-10 19:08:32 +00:00
dev Completed function declarations and/or added prototypes and/or added 1995-12-15 00:54:32 +00:00
fs Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
gnu Fixed the type of some sysinit functions. 1995-12-14 20:21:58 +00:00
i386 Completed function declarations and/or added prototypes and/or added 1995-12-15 00:54:32 +00:00
isa Completed function declarations and/or added prototypes and/or added 1995-12-15 00:54:32 +00:00
isofs/cd9660 Added prototypes. 1995-12-03 17:14:38 +00:00
kern Changed the maximum output queue count from (TTMAXHIWAT + 200) to 1995-12-15 02:18:06 +00:00
libkern Add qsort() to libkern, taken from libc. 1995-11-08 08:40:11 +00:00
miscfs Restored lost prototypes. 1995-12-14 19:04:09 +00:00
modules Two x87 emulators as LKMs. 1995-12-14 08:26:14 +00:00
msdosfs Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
net Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
netccitt Moved inline functions for insque() and remque() to <sys/queue.h>. 1995-12-03 13:45:34 +00:00
netinet Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
netipx Cleaned up prototypes: 1995-11-24 12:25:13 +00:00
netiso Last commit this round: Staticize. 1995-12-10 13:45:30 +00:00
netns Moved inline functions for insque() and remque() to <sys/queue.h>. 1995-12-03 13:45:34 +00:00
nfs Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
nfsclient Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
nfsserver Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
pc98/pc98 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
pccard Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
pci Change the generic "btintr" function's name to "bt_intr" - the same as 1995-12-14 14:19:19 +00:00
powerpc/include
rpc
scsi Moved prototypes to better places. 1995-12-14 19:51:15 +00:00
sys Nuked ambiguous sleep message strings: 1995-12-14 22:51:13 +00:00
tools Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
ufs Included <sys/conf.h> and updated to indirect devswitches so that 1995-12-14 20:16:15 +00:00
vm Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
Makefile