Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


CYTUNE(8)		  Linux Programmer's Manual		    CYTUNE(8)



NAME
       cytune - Tune Cyclades driver parameters

SYNOPSIS
       cytune  [-q  [-i	 interval]] ([-s value]|[-S value]) [-g|G] ([-t time-
       out]|[-T timeout]) tty [tty ...]

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	system	throughput.   If  the
       threshold  is  set too high, the FIFO buffer can overflow, and charac-
       ters 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 moni-
       toring interval.	 It will also report the state of the FIFO.  The max-
       imum 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 character 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.  cytune will in query mode will pro-
       duce 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  inter-
       rupt  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 gener-
       ally 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 thresh-
	      old will be reset on the next open.  Only values between 1  and
	      12, inclusive, are permitted.

       -t value
	      Set the current flush timeout to value units.  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 0 and 255,
	      inclusive, are permitted.	 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(8) should prevent this, but
       does not.

AUTHOR
       Nick Simicich (njs@scifi.emi.net), with	modifications  by  Rik	Faith
       (faith@cs.unc.edu)

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

SEE ALSO
       setserial(8)



				  4 Mar 1995			    CYTUNE(8)


UNIX/Linux commands referenced on this page:
  1. tty
  2. card
  3. look
  4. time
  5. as
  6. at
  7. link
  8. reset