Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!goanna.cs.rmit.edu.au!aggedor.rmit.EDU.AU!harbinger.cc.monash.edu.au!yarrina.connect.com.au!warrane.connect.com.au!godzilla.zeta.org.au!not-for-mail From: bde@zeta.org.au (Bruce Evans) Newsgroups: comp.os.386bsd.questions Subject: Re: *BSD and 115kbps Serial Date: 7 Jan 1995 14:17:18 +1100 Organization: Kralizec Dialup Unix Sydney - +61-2-837-1183, v.32bis v.42bis Lines: 51 Message-ID: <3el13u$t4b@godzilla.zeta.org.au> References: <3eegop$3r9@homer.alpha.net> <JBH.95Jan5100037@moses.oau.org> NNTP-Posting-Host: localhost.zeta.org.au In article <JBH.95Jan5100037@moses.oau.org>, James B. Huber <jbh@moses.oau.org> wrote: >>>>>> "Podyss" == Podyss <Podyss@quaestus.com> writes: >... >Pod> So, the question is whether the machine running FreeBSD, assuming it has >Pod> a serial port with a 16550 UART, can really handle a full 115kbps serial link. >... FreeBSD can handle a full 115kbps bidirectional without silo overflows on the following hardware: 386/20 one 16450 (not two) IDE drive It can handle more ports on better hardware. Some busmastering SCSI controllers are not better because they hog the bus and expand the interrupt latency from a few usec to a few hundred use. Overheads: /* * Results for serial overheads (in %). * All for a single line in raw mode at 115200 bps. * machine uart O/S read write r+w comments | 486/66 16550 FreeBSD-1.1R++ 5.6 2.9 8.9 ++ = many changes | 16450 FreeBSD-1.1R++ 15.0 12.5 27.3 * 486/33 16550 FreeBSD-1.1B++ 8.1 4.0 11.6 | 16450 FreeBSD-1.1R++ 21.8 17.4 36.0 * 386/20 16450 FreeBSD-1.1B++ 52.4 42.0 71.8 */ 2.0 has slightly larger overheads. Overheads are approximately linear in the number of lines until the system saturates. Then the overheads become smaller because more events per interrupt can be handled. The 386/20 is saturated doing both input and output at 115200 bps. > Can't speak for FreeBSD, I run BSDI ver. 1.1 I've been complaining >bitterly about how bad the serial performance is. It is NOT capable >of running 38.4k with 16550's. It silo overflows all over the place, >... > It still isn't up to 57.6k, it appears that the interrupt latency >on the O/S is disgustingly high. Perhaps their version 2.0 will >improve it, perhaps FreeBSD is better. A 16450 at 115200 bps of course requires an interrupt latency of somewhat less than 100000.0/11520.0 = 86.8 usec. I changed the interrupt handling in 386BSD-0.1-patchkit a couple of years ago to make the latency lower than this on 386-20's. On 486DX2/66's the latency is 5-10 usec. -- Bruce Evans bde@zeta.org.au