Date: Tue, 19 Aug 2003 13:58:53 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: Mark Murray <mark@grondar.org> Subject: Re: HEADSUP: pca driver being retired. Message-ID: <20030819134824.X86483@gamplex.bde.org> In-Reply-To: <2087.1060858934@critter.freebsd.dk> References: <2087.1060858934@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 14 Aug 2003, Poul-Henning Kamp wrote: > In message <200308141017.h7EAHoOI089193@grimreaper.grondar.org>, Mark Murray wr > ites: > > >Would it be a useful exercise for the minority(?) of users who use this > >driver to either see if it can be effectively newbussed or turned into > >a port or both? > > The main problem is the code which hi-jacks the i8254 and kicks off > up to 20000 interrupts per second. What problem is this, except that 20000 interrupts per second is too small for current hardware? Hmm, use of the interrupts has been broken in -current by incompletely turning clkintr() into a fast interrupt handler. pcaintr() is not a fast interrupt handler, but clkintr() just calls it if pca is active. pca uses splhigh() for locking, but splhigh is null in -current and doesn't lock out fast interrupts anyway. If pca were locked by Giant, then the large interrupt latency of Giant would show up as large distortion. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030819134824.X86483>
