Computer Science
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 timeout]|[-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 charac-
ters 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 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 num-
ber 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 thresh-
old, 11 max, 11 now
166.259866 interrupts/second, 1828.858521 char-
acters/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 hard-
ware 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 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 monitor-
ing 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 thresh-
old 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, inclu-
sive, 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 1
Back to the index