Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Dec 1995 18:18:10 -0800 (PST)
From:      Bruce Evans <bde>
To:        CVS-committers, cvs-sys
Subject:   cvs commit: src/sys/kern tty.c
Message-ID:  <199512150218.SAA12877@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         95/12/14 18:18:08

  Modified:    sys/kern  tty.c
  Log:
  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.
  
  Revision  Changes    Path
  1.77      +3 -2      src/sys/kern/tty.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512150218.SAA12877>