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:
- tty
- card
- look
- time
- as
- at
- link
- reset