From owner-freebsd-hardware Wed Jul 3 13:51:23 1996 Return-Path: owner-hardware Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA24465 for hardware-outgoing; Wed, 3 Jul 1996 13:51:23 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id NAA24458 for ; Wed, 3 Jul 1996 13:51:20 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id GAA15967; Thu, 4 Jul 1996 06:47:36 +1000 Date: Thu, 4 Jul 1996 06:47:36 +1000 From: Bruce Evans Message-Id: <199607032047.GAA15967@godzilla.zeta.org.au> To: msmith@atrad.adelaide.edu.au, stesin@elvisti.kiev.ua Subject: Re: muliport boards - building a PPP dialup server Cc: hardware@freebsd.org Sender: owner-hardware@freebsd.org X-Loop: FreeBSD.org Precedence: bulk ># > 1. tty-level driver overhead, that's what I'm watching ># > now with 16 FIFOed ports in 486dx4/100 -- interrupt ># > load is tiny, and most of CPU is eaten by system. ># > "Smart" card with it's own CPU (I treat it like ># > an I/O co-processor) should minimize this factor. (?) ># ># No. None of the 'smart' cards currently around perform any tty processing. > Won't tty-level overhead decrease when the data flow through a port > will be going in bigger chunks? Only if 'smart' actually means 'fast' :-). 16550 output already has a chunk size of 16 bytes. Since 8-bit ISA I/O is so slow, this size is large enough to get most of the benefits of chunking. 16550 input is about twice as slow (on >= 486's) as 16550 output because the status register has to be read for every byte of input. The input chunk size is large enough for the UART interface to become the bottleneck. ># > 2. ISA bus itself, no matter what will I put into it. ># > ... Yes, probably I'm ># > wrong and ISA can deal i.e. with 32x115200; but how ># > reliable will this configuration be? ># ># This is a significant issue. 32x115200 is ~350K/sec. presuming 100% ># efficiency. IIRC, Bruce quoted more like 50%, so the ISA bus would be You forgot output. 32x115200bps is ~700K/sec. 16 ports is already 350K/sec. This will take about 80% of the CPU for ISA I/O alone (assuming 16550s and 2 I/O's per byte). Bruce