Skip site navigation (1)Skip section navigation (2)
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>