Date: Thu, 4 Jul 1996 06:27:05 +1000 From: Bruce Evans <bde@zeta.org.au> To: msmith@atrad.adelaide.edu.au, stesin@elvisti.kiev.ua Cc: Kevin_Swanson@blacksmith.com, cofer@www.cas.unt.edu, freebsd-hardware@freebsd.org, isp@freebsd.org, michaelv@HeadCandy.com Subject: Re: muliport boards - building a PPP dialup server Message-ID: <199607032027.GAA15101@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
># I'm curious - why PCI? > Something makes me beleive that if I want more than 16 ports > at 115200 per box, there would be two bottlenecks: > 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. No, interrupt load is large. Serial hardware interrupt overheads (for drivers with fast interrupt handlers like sio and cy) are not counted because the drivers mask statclock interrupts. The overheads are added to the overheads of whatever happens to be running when the serial interrupts occur. On a 486DX/2/66 with 16550s (non-multiport; add 25-33% to interrupt overheads for multiport) or cd1400s, the overheads are approximately: source overhead relative ------ serial interrupt overheads 3% per 11KB 1 system overheads for termios raw mode input 3.3 1 system overheads for cslip input 3.7 1+ system overheads for pppd input 6.1 2 system overheads for termios cooked mode input huge (50?) 16 The system overheads are easy to reduce by replacing the 486/33 with a Pentium. The interrupt overheads are mostly I/O overheads so they are hard to reduce because boards with fast I/O are hard to find. > "Smart" card with it's own CPU (I treat it like > an I/O co-processor) should minimize this factor. (?) Only if the driver supports the smartness. This isn't easy, because the upper tty layers want to do their own line discipline processing. None of the FreeBSD serial drivers supports smartness. > 2. ISA bus itself, no matter what will I put into it. This is the main bottleneck on anything faster than a DX2/66, at least if 8-bit I/O is used. The overheads for Comtrol RocketPorts would be about half as small because RocketPorts support 16-bit I/O. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607032027.GAA15101>