From: Jim Graham (jim@n5ial.mythical.com)
Date: 08/08/93


From: jim@n5ial.mythical.com (Jim Graham)
Subject: Re: 38400 or 57600 baud, which to use? With what FIFO trigger setting?
Date: Sun, 8 Aug 1993 15:08:44 GMT

In article <CBF4sM.6p4@ukelele.gcr.com> spj@ukelele.gcr.com (Guru Aleph_Null)
writes:
>jim@n5ial.mythical.com (Jim Graham) writes:
>
>>Now, if you're actually using V.32bis, you'll want 57.6 kb as long as it
>>doesn't cause any problems.
>
>Now, on my 386DX25, with 16450 UART, a "saturated" 38.4 connection dogs my
>machine, I'm talking about virtual consoles not "snapping" instantaneously
>when you hit Alt-Fx! I can't imagine what locking the port at 57.6 would
>do ;).

Ah, yes, but the original poster indicated that they have a 16550 in their
serial board...there is, of course, a world of difference. :-) In your
case, every time an incoming character arrives, it generates an interrupt.
Every time the system wants to receive each individual character, it has to
stop what it's doing and service the interrupt. There is a certain amount
of time required to change gears like this, called context switching
overhead, and this does add up....

With the 16550, the UART can issue one interrupt for multiple characters
(trigger level can be set at 1, 4, 8, or 14), and all of those characters
can be received at one time, thus reducing the TOTAL amount of context
switching overhead to process those characters (assume n=c.s. overhead,
8 bytes in the FIFO, trigger level <= 8, and we end up with n*1 instead
of n*8).

Btw, with the 16550 here (20 MHz 386, AT bus, 4 Meg RAM), I can have a UUCP
connect up at 38.4 kb on the serial port (V.32bis/V.42 connect), and be
receiving an incoming news feed, and I don't see any noticeable hit on the
system. This even holds up when I'm running X. No substantial impact to
the system (beyond what's already done by running X in only 4 Meg of RAM,
of course).

>(There's no hope for replacing the UARTs, the multifunction I/O
>card I got stuck with implements them "interally", there aren't any to rip
>out and replace. :( )

If I were you, I'd disable the ports on that board and buy a real serial
board.... I also have brain-damaged UARTS on a multi-function I/O board
on this machine (no choice---they came on the motherboard). They were
disabled before the machine was ever even booted with this motherboard,
and my own serial boards were re-installed.

Later,
   --jim