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>