Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jun 96 12:03:36 PST
From:      "Brett Glass" <Brett_Glass@ccgate.infoworld.com>
To:        Bruce Evans <bde@zeta.org.au>, bde@zeta.org.au, hdalog@zipnet.net, msmith@atrad.adelaide.edu.au
Cc:        Kevin_Swanson@BLaCKSMITH.com, chuckr@glue.umd.edu, freebsd-hardware@FreeBSD.org, jparnas@jparnas.cybercom.net
Subject:   Re: muliport boards - building a PPP dialup server
Message-ID:  <9605308361.AA836158143@ccgate.infoworld.com>

next in thread | raw e-mail | index | archive | help
> This is below the breakeven point.

Only if you assume no other interrupt-driven I/O is going on, and that
no other code has critical sections where interrupts are masked (or where
task switches don't happen, so that the TTY driver's buffers in RAM can't
be emptied).

Add moderate to heavy disk I/O and things can REALLY break down. You may
recall that, a few months ago, I had to rewrite parts of the wd drivers
to disable a hard disk's "sleep" feature, and discovered that they busy
wait -- the maximum wait is several seconds, in fact -- in the kernel.
This can cause FIFO overruns in the TTY drivers if not in the UARTs.

The worst case is probably a news server with a high-speed feed from
PageSat, since serial and disk activity are linked and are likely to peak
at the same time. CPU utilization also peaks -- due to the use of GZIP
compression for the feed. To make matters worse, the news software uses
lots of memory -- which may trigger swapping and thrashing. So resource
usage of all kinds goes right off the charts!

Problems are also VERY common on machines running X servers (which is why I
never run X on a machine with significant serial traffic).

Thus, when in doubt, I always go for extra buffering. I have been using a
Hayes ESP (the old one, whose 1K receive buffers are hidden) on the busiest
ports to provide an extra margin of safety. With the MTU set to about 500
characters, two whole PPP packets can fit in time of need.

--Brett




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9605308361.AA836158143>