Date: Sat, 22 Dec 2001 19:38:12 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Bruce Evans <bde@zeta.org.au> Cc: Mike Silbersack <silby@silby.com>, <cvs-committers@FreeBSD.ORG>, <cvs-all@FreeBSD.ORG> Subject: Re: cvs commit: src/sys/dev/sio sio.c Message-ID: <200112230338.fBN3cCe99476@apollo.backplane.com> References: <20011223141152.Y10385-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:I fixed the software problems in 386BSD-0.0. Software latency bugs :are occasionally reintroduced. -current has several problems in this :area. They are mostly design problems so they are hard to fix. However, :I think the latency problems in -current only break sio on old machines. :IIRC, spinlocks are never held for more than about "only" 2000 (or is :it 0x2000) instructions. On a 386/20, 2000 instructions took something :like 400 usec, but on not so modern machines (1GHz) it takes more like :4 usec. The driver needs a latency of less than about 75 usec to work :for all supported hardware. : :Most silo overflows seem to be caused by video hardware hogging the bus. : :Bruce And I've written serial drivers for 8085, 8086, 68000, 68008, 68020, 68030, Perkin-Elmer (my god! Interrupt driven microcode!), 68xx, 683xx, 486's (in assembly), etc etc etc etc. I am not insensitive to interrupt latency issues or unknowledgeable. On a 16MHz 68000 I was able to write a serial interrupt handler that took less then 5uS per character (inclusive of *all* interrupt overhead). On a 486 it took a little longer due to all the ISA accesses. In anycase, it's moot on a modern day machine. The PCI/ISA accesses alone eat more cpu then all the rest of the instructions combined. If our users are running X sessions and trying to operate a dialup link, we have to support that. Setting the FIFO level to MEDHI is totally and completely reasonable. Since National screwed up the design of the 16550[A] from day 1 (and it is STILL screwed up), we have had to live with it and that means dealing with these issues so our users don't have to. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112230338.fBN3cCe99476>