Date: Tue, 30 Jan 1996 17:51:55 +1100 From: Bruce Evans <bde@zeta.org.au> To: gerg@stallion.oz.au, hackers@freebsd.org Subject: Re: Multi-Port Async Cards Message-ID: <199601300651.RAA26258@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>>A "real" isp might use a portmaster....but many non-isps would like to >>provide a small number of modem lines for corporate dial-in. Its a big >>selling point for the O/S. >> >Well I know lots of real ISP's that don't use terminal servers, they >use real intelligent mulitport boards. Boards that do offload everything, >all serial interrupts, flow control and have large memory buffers (like >5K or 6K for each of RX and TX per port). These are not toy ISP's either >they are serious players, some have more than 64 high speed modems per >system. >Let me back this up with some numbers, a Stallion EasyConnection 8/64 ISA >(which is powered by a 25MHz 186 with 512K RAM) uses about 0.1% host CPU >per kbyte output (test done on a commercial UNIX flavor, Pentium 90, >32M RAM). The EISA bus version of the board does even better (32 bit writes >of data sure help). For comparison, a Cyclades 8Yo ISA uses about 0.4% host CPU per kbyte output in opost mode (test done on FreeBSD-current, 486DX/33, 8MB RAM). Why is the Stallion so slow? :-). The Cyclades board "intelligent" but essentially none of the intelligence is used since it would make little difference. The overhead is half for ISA bus accesses (only about 1/4 for interrupts). That's why the Stallion/P90 isn't much faster. Other numbers: as above, -opost mode 0.3%/KB 16550, 486DX2/66, -opost 0.25% (one port) 16450, 486DX2/66, -opost 1.1% 16450, 386/20, -opost 3.7% A 16550 is slightly faster than a cd1400 but the FreeBSD-current multiplexing code is more general and slower for 16550 multiport boards than for 8Yo's. Linux Comtrol Rocketport driver as reported in Linux Journal: 486DX/33, -opost 0.08% 486DX/33, opost 0.77% The RocketPort is faster mainly because it provides 16 bit i/o's and larger FIFOs. I'd like to see some numbers for terminal servers. The FreeBSD pty overhead is 10 times larger than the serial overhead in some cases. I'm not sure if these cases are used with terminal servers. For rlogin over ethernet, `dd if=/dev/zero bs=8k' consumes 100% of my 486DX/33 and has a transfer speed 87381 bytes/sec (whee :-() 486DX/33, NE2000, opost 1.17%/KB (96.3%Sys 3.2%%Intr 0.5%User) The nulls in the output exercise the slowest parts of the opost code; catting normal text files is about 5 times faster. The other benchmarks transmit normal text files; otherwise their opost overheads would be higher. Intelligent cards might help here, but so would better opost code, and sending all nulls is unusual. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601300651.RAA26258>