From owner-freebsd-current@FreeBSD.ORG Mon Aug 18 20:59:32 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F3AC37B401 for ; Mon, 18 Aug 2003 20:59:32 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6476843FAF for ; Mon, 18 Aug 2003 20:59:30 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id NAA11638; Tue, 19 Aug 2003 13:58:54 +1000 Date: Tue, 19 Aug 2003 13:58:53 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Poul-Henning Kamp In-Reply-To: <2087.1060858934@critter.freebsd.dk> Message-ID: <20030819134824.X86483@gamplex.bde.org> References: <2087.1060858934@critter.freebsd.dk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Dan Nelson cc: current@freebsd.org cc: Mark Murray Subject: Re: HEADSUP: pca driver being retired. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Aug 2003 03:59:32 -0000 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