8:cytune

From Linux Man Pages

Jump to: navigation, search
      cytune - Tune Cyclades driver parameters
      
      cytune [-q [-i interval]] ([-s value]|[-S value]) [-g|G] ([-t timeout]|[-T timeout]) tty [tty ...]

Contents

DESCRIPTION

      cytune  queries  and modifies the interruption threshold for the Cyclades driver.  Each serial line on a Cyclades
      card has a 12-byte FIFO for input (and another 12-byte FIFO for output).   The  "threshold"  specifies  how  many
      input  characters  must  be present in the FIFO before an interruption is raised.  When a Cyclades tty is opened,
      this threshold is set to a default value based on baud rate:
 
                 Baud        Threshold
 
             50-4800            10
             9600                8
             19200               4
             38400               2
             57600-150000        1
 
      If the threshold is set too low, the large number of interruptions can load the machine and decrease overall sys-
      tem  throughput.   If  the  threshold is set too high, the FIFO buffer can overflow, and characters will be lost.
      Slower machines, however, may not be able to deal with the interrupt load, and will require that the threshold be
      adjusted upwards.
 
      If  the  cyclades  driver was compiled with ENABLE_MONITORING defined, the cytune command can be used with the -q
      option to report interrupts over the monitoring interval and characters transferred over the monitoring interval.
      It  will  also  report  the  state  of  the FIFO.  The maximum number of characters in the FIFO when an interrupt
      occurred, the instantaneous count of characters in the FIFO, and how many characters are  now  in  the  FIFO  are
      reported.  This output might look like this:
 
             /dev/cubC0: 830 ints, 9130 chars; fifo: 11 threshold, 11 max, 11 now
                166.259866 interrupts/second, 1828.858521 characters/second
 
      This  output indicates that for this monitoring period, the interrupts were always being handled within one char-
      acter time, because max never rose above threshold.  This is good, and you can probably run  this  way,  provided
      that  a  large  number  of  samples  come out this way.  You will lose characters if you overrun the FIFO, as the
      Cyclades hardware does not seem to support the RTS RS-232 signal line for hardware flow control from the  DCE  to
      the DTE.
 
      In  query  mode cytune will produce a summary report when ended with a SIGINT or when the threshold or timeout is
      changed.
 
      There may be a responsiveness vs. throughput tradeoff.  The Cyclades card, at the higher speeds,  is  capable  of
      putting  a  very  high interrupt load on the system.  This will reduce the amount of CPU time available for other
      tasks on your system.  However, the time it takes to respond to a  single  character  may  be  increased  if  you
      increase  the  threshold.   This  might  be  noticed  by  monitoring ping(8) times on a SLIP link controlled by a
      Cyclades card.  If your SLIP link is generally used for interactive work such as telnet(1), you may want to leave
      the  threshold  low,  so that characters are responded to as quickly as possible.  If your SLIP link is generally
      used for file transfer, WWW, and the like, setting the FIFO to a high value is likely to reduce the load on  your
      system  while not significantly affecting throughput.  Alternatively, see the -t or -T options to adjust the time
      that the cyclades waits before flushing its buffer.  Units are 5ms.
 
      If you are running a mouse on a Cyclades port, it is likely that you would want to  maintain  the  threshold  and
      timeout at a low value.

OPTIONS

      -s value
             Set  the  current  threshold  to value characters.  Note that if the tty is not being held open by another
             process, the threshold will be reset on the next open.  Only values between 1 and 12, inclusive, are  per-
             mitted.
 
      -t value
             Set the current flush timeout to value units.  Note that if the tty is not being held open by another pro-
             cess, the threshold will be reset on the next open.  Only values between 0 and 255, inclusive, are permit-
             ted.  Setting value to zero forces the default, currently 0x20 (160ms), but soon to be 0x02 (10ms).  Units
             are 5 ms.
 
      -g     Get the current threshold and timeout.
 
      -T value
             Set the default flush timeout to value units.  When the tty is  next  opened,  this  value  will  be  used
             instead  of  the  default.   If value is zero, then the the value will default to 0x20 (160ms), soon to be
             0x02 (10ms).
 
      -G     Get the default threshold and flush timeout values.
 
      -q     Gather statistics about the tty.  The results are only valid if the Cyclades driver has been compiled with
             ENABLE_MONITORING defined.  This is probably not the default.
 
      -i interval
             Statistics will be gathered every interval seconds.

BUGS

      If  you  run two copies of cytune at the same time to report statistics about the same port, the 'ints', 'chars',
      and 'max' value will be reset and not reported correctly.  cytune should prevent this, but does not.

FILES

      /dev/ttyC[0-8]
      /dev/cubC[0-8]

RELATED

      setserial(8)

CATEGORY

Personal tools