Date: Mon, 24 Dec 2001 02:19:13 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: Peter Jeremy <peter.jeremy@alcatel.com.au>, David Greenman <dg@root.com>, Bruce Evans <bde@zeta.org.au>, 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: <200112241019.fBOAJDO05785@apollo.backplane.com> References: <83382.1009180276@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
:a target, measuring the spread means looking at how close the holes
:are on a blank sheet target.
:
:Very few people have hardware that allows them to see where the
:bulls-eye actually is. (Cost ~= USD1000).
:
:--
:Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
:phk@FreeBSD.ORG | TCP/IP since RFC 956
:FreeBSD committer | BSD since 4.3-tahoe
All you need to measure interrupt latency is a cheap oscilliscope.
About $60. If the interrupt rate is high enough (11KHz is plenty
high enough, IMHO) you can figure the spread out by eye just by
looking at the scope. You trigger the scope on the start bit and
adjust the timing so the retrigger doesn't occur in the middle of
a character, and you poke a value into the paralell port in the
interrupt service routine and tie that into the second channel. Poof,
instant latency, jitter & spread measurement.
In anycase, the difference between MEDH and HIGH is that MEDH gives
us 8 character times of slop before the FIFO overflows, while HIGH
gives us only 2 character times. At a standard 115200 baud, 11.52KHz,
or 86.8 uS / character, this is the difference between 173 uS and
694 uS, which gives us significant protection. It isn't perfect (you
can't *BE* perfect because the 16550A doesn't automatically tie CTS
into the FIFO trigger levels, which is utterly stupid but that's the
way it works)... but it is far better then what we have now with the
myrid of silo overflow bugs reported in both -current AND -stable.
-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?200112241019.fBOAJDO05785>
