cytune(8) Afinas los parámetros del controlador de Cyclades

SINOPSIS

cytune [-q [-i intervalo]] ([-s valor]|[-S valor]) [-g|G] ([-t timeout]|[-T timeout]) tty [tty ...]

DESCRIPCIÓN

cytune interroga y modifica el umbral de interrupción para el controlador de Cyclades. Cada línea serie de una tarjeta Cyclades tiene un FIFO de 12 B para la entrada, y otro igual para la salida. El "umbral" especifica cuántos caracteres de entrada deben estar presentes en el FIFO antes de que se alcance una interrupción. Cuando una tty de Cyclades se abre, este umbral se pone a un valor predeterminado basado en la velocidad:


    Baud        Umbral

50-4800 10
9600 8
19200 4
38400 2
57600-150000 1

Si el umbral se pone demasiado bajo, el gran número de interrupciones puede cargar la máquina y degradar el rendimiento global del sistema. Si se pone por el contrario muy elevado, el búfer FIFO puede desbordarse, y se perderán caracteres. Máquinas más lentas, sin embargo, pueden no ser capaces de tratar con la carga de interrupciones, y requerirán que el umbral se ajuste tirando hacia arriba.

Si el controlador de Cyclades se compiló con ENABLE_MONITORING definido, la orden cytune puede emplearse con la opción -q para informar de interrupciones y caracteres transferidos en el intervalo de monitorización. También informará del estado del FIFO. Se informa del máximo número de caracteres en el FIFO cuando ocurra una interrupción, el número instantáneo de caracteres en el FIFO y cuántos hay ahora en el FIFO. Esta salida podría ser algo así:

/dev/cubC0: 830 ints, 9130 chars; fifo: 11 threshold, 11 max, 11 now

   166.259866 interrupts/second, 1828.858521 characters/second

Esta salida indica que para este periodo de monitorización, las interrupciones siempre estaban siendo manejadas en un tiempo de un carácter, porque max nonca superó a threshold. Esto es bueno, y probablemente Ud. pueda ir por ese camino, supuesto que un gran número de muestras vengan así. Ud. perderá caracteres si desborda el FIFO, puesto que el hardware de Cyclades no parece admitir la línea de señal RTS RS-232 para control del flujo por hardware desde el DCE hasta el DTE. cytune en modo de interrogación producirá un informe resumen cuando acabe con una señal SIGINT o cuando se cambie el umbral o el tiempo de espera timeout.

Puede haber una cuestión de tiempo de respuesta frente a cantidad de caracteres. La tarjeta Cyclades, a las velocidades más altas, es capaz de poner el sistema en una situación de alta carga debida a las interrupciones. Esto reducirá la cantidad de tiempo de CPU disponible para otras tareas. Sin embargo, el tiempo que se tarde en responder a un solo carácter puede incrementarse si se aumenta el umbral. De esto puede uno darse cuenta mirando los tiempos que da ping(8) en un enlace SLIP controlado por una tarjeta Cyclades. Si su enlace SLIP se usa generalmente para trabajos interactivos como telnet(1), Ud. podría querer dejar el umbral en un número bajo, de forma que se responda a los caracteres lo más rápido posible. Si su enlace SLIP se emplea generalmente para transferencias de archivos, WWW y cosas así, seguramente poner el FIFO a un valor alto reducirá la carga de su sistema sin afectar significativamente al número de caracteres. Alternativamente, vea las opciones -t o -T para ajustar el tiempo que el Cyclades espera antes de volcar su búfer. Las unidades son de 5 ms.

Si se ha puesto un ratón en un puerto de Cyclades, lo más probable es que le convenga mantener el umbral y el tiempo de espera a un valor pequeño.

OPCIONES

-s valor
Establece el umbral en curso a valor caracteres. Observe que si la tty no está siendo mantenida abierta por otro proceso, el umbral se repondrá a su valor en la siguiente apertura. Sólo están permitidos valores entre 1 y 12, incluidos.
-t valor
Establece el tiempo de espera del volcado a valor unidades. Observe que si la tty no está siendo mantenida abierta por otro proceso, el tiempo de espera se repondrá a su valor en la siguiente apertura. Sólo están permitidos valores entre 0 y 255, incluidos. Poner valor a cero significa establecerlo a su valor predeterminado, actualmente 0x20 (160 ms), pero pronto va a ser 0x02 (10 ms). Las unidades son de 5 ms.
-g
Obtiene los umbrales y tiempo de espera actuales.
-T valor
Establece el tiempo de espera de volcado predeterminado a valor unidades. Cuando se abra la tty la siguiente vez, se empleará este valor en vez del predeterminado. Si valor es cero, entonces el valor predeterminado será 0x20 (160 ms), aunque pronto será 0x02 (10 ms).
-G
Obtiene los valores umbral y de tiempo de espera predeterminados.
-q
Obtiene estadísticas sobre la tty. Los resultados sólo son válidos si el controlador de Cyclades ha sido compilado con ENABLE_MONITORING definido. Probablemente esto no sea cierto.
-i intervalo
Las estadísticas se recogerán cada intervalo segundos.

FALLOS

Si Ud. ejecuta dos copias de cytune a la vez para obtener estadísticas sobre el mismo puerto, los valores `ints', `chars' y `max' se pondrán a cero y no se mostrarán correctamente. cytune(8) debería prevenir esto, pero no lo hace.

AUTOR

Nick Simicich ([email protected]), con modificaciones por Rik Faith ([email protected])

FICHEROS

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