From owner-freebsd-hardware Sun Jun 30 11:11:19 1996 Return-Path: owner-hardware Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id LAA03196 for hardware-outgoing; Sun, 30 Jun 1996 11:11:19 -0700 (PDT) Received: from lserver.infoworld.com (lserver.infoworld.com [192.216.48.4]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id LAA03183 for ; Sun, 30 Jun 1996 11:11:17 -0700 (PDT) Received: from ccgate.infoworld.com by lserver.infoworld.com with smtp (Smail3.1.29.1 #12) id m0uaSRC-000wxWC; Sun, 30 Jun 96 12:45 PDT Received: from cc:Mail by ccgate.infoworld.com id AA836158143; Sun, 30 Jun 96 12:03:36 PST Date: Sun, 30 Jun 96 12:03:36 PST From: "Brett Glass" Message-Id: <9605308361.AA836158143@ccgate.infoworld.com> To: Bruce Evans , 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 Sender: owner-hardware@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > 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