HEADSUP: pca driver being retired.

Bruce Evans bde at zeta.org.au
Mon Aug 18 20:59:32 PDT 2003


On Thu, 14 Aug 2003, Poul-Henning Kamp wrote:

> In message <200308141017.h7EAHoOI089193 at 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


More information about the freebsd-current mailing list