Date: Thu, 5 Jun 1997 21:49:52 -0700 (MST) From: Richard Straka <straka@user1.inficad.com> To: Bruce Evans <bde@zeta.org.au> Cc: current@FreeBSD.ORG Subject: Re: sio driver performance Message-ID: <Pine.BSI.3.96.970605214012.29114A-100000@user1.inficad.com> In-Reply-To: <199706042043.GAA16361@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
> >> When receiving sustained 115200 baud data, an interrupt rate of > >> over 26,000/sec is indicated with about 15% of the processor going > >> to service interrupts. > >> > >> It appears as though the fifo is not working for the receive. In an > >> attempt to exhonerate the hardware, I swapped in another 16550 card > >> I had laying around and got the similar results. > > It works for most users. Possible problems: > > - noisy cables may cause a modem status interrupt for every character > (or every changed bit?). > - a parity mismatch may cause a line status interrupt for every character. > This problem is easy to reproduce using `stty parenb ...' to change the > default of 8 bits-no parity to 9 bits-1 parity bit. > - a hardware bug on UMC8669F devices that prevents initialization of the > fifo trigger level while data is arriving. These devices also have a > h/w bug that prevents initialization of the speed while data is arriving. > Both bugs are more common in tests than in normal operation. I always > see the fifo bug here if I start the transmitter first. FreeBSD > transmitters do a perfect job of keeping the data flowing, so the > receiver never has a chance to recover :-). Bruce, Your suggestion of a noisy cable was right on. After swapping out a bad null modem adapter, the receive fifo seems to be working great (820 int/sec at 115200 baud). CPU utilization is also greatly reduced. Thank again for you help and thanks to everyone who responded to my problem. Richard Straka straka@inficad.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSI.3.96.970605214012.29114A-100000>