From owner-cvs-src@FreeBSD.ORG Sun May 6 19:29:27 2007 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 08A4616A400; Sun, 6 May 2007 19:29:27 +0000 (UTC) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (gate.funkthat.com [69.17.45.168]) by mx1.freebsd.org (Postfix) with ESMTP id C6DF713C43E; Sun, 6 May 2007 19:29:26 +0000 (UTC) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (s0bh6gcsjyquwr1u@localhost.funkthat.com [127.0.0.1]) by hydrogen.funkthat.com (8.13.6/8.13.3) with ESMTP id l46JTPf6012051; Sun, 6 May 2007 12:29:26 -0700 (PDT) (envelope-from jmg@hydrogen.funkthat.com) Received: (from jmg@localhost) by hydrogen.funkthat.com (8.13.6/8.13.3/Submit) id l46JTPSq012050; Sun, 6 May 2007 12:29:25 -0700 (PDT) (envelope-from jmg) Date: Sun, 6 May 2007 12:29:25 -0700 From: John-Mark Gurney To: Paolo Pisati Message-ID: <20070506192925.GP17958@funkthat.com> References: <200705061702.l46H2oVK057260@repoman.freebsd.org> <20070506174426.GO17958@funkthat.com> <20070506191027.GA2050@tin.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070506191027.GA2050@tin.it> User-Agent: Mutt/1.4.2.1i X-Operating-System: FreeBSD 5.4-RELEASE-p6 i386 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/amd64/amd64 intr_machdep.c src/sys/i386/i386 intr_machdep.c src/sys/kern kern_intr.c src/sys/sys interrupt.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: John-Mark Gurney List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 May 2007 19:29:27 -0000 Paolo Pisati wrote this message on Sun, May 06, 2007 at 21:10 +0200: > On Sun, May 06, 2007 at 10:44:26AM -0700, John-Mark Gurney wrote: > > Paolo Pisati wrote this message on Sun, May 06, 2007 at 17:02 +0000: > > > Modified files: > > > sys/amd64/amd64 intr_machdep.c > > > sys/i386/i386 intr_machdep.c > > > sys/kern kern_intr.c > > > sys/sys interrupt.h > > > Log: > > > Bring in the reminaing bits to make interrupt filtering work: > > > > When are we going to see man page updates to document this new feature? > > didn't prepare any patch for man pages cause the support for some > archs is still missing, but i can do that if requested. It's still useful to have as a reference... It's easy to document which arches are still missing the parts... > > Also, you forgot to update sys/sys/bus.h's comments? or did you fix > > the code to behave like the comments? > > you mean this comment: > > --------8<--------8<--------8<--------8<--------8<--------8<-------- > > /** > * @brief Driver interrupt filter return values > * > * If a driver provides an interrupt filter routine it must return an > * integer consisting of oring together zero or more of the following > * flags: > * > * FILTER_STRAY - this device did not trigger the interrupt > * FILTER_HANDLED - the interrupt has been fully handled and can be EOId > * FILTER_SCHEDULE_THREAD - the threaded interrupt handler should be > * scheduled to execute > * > * If the driver does not provide a filter, then the interrupt code will > * act is if the filter had returned FILTER_SCHEDULE_THREAD. Note that it > * is illegal to specify any other flag with FILTER_STRAY and that it is > * illegal to not specify either of FILTER_HANDLED or FILTER_SCHEDULE_THREAD ^^^^^^ ^^ > * if FILTER_STRAY is not specified. > */ > #define FILTER_STRAY 0x01 > #define FILTER_HANDLED 0x02 > #define FILTER_SCHEDULE_THREAD 0x04 > > --------8<--------8<--------8<--------8<--------8<--------8<-------- > > except for the horrible english, the semantic is correct. But in another email you said that specifing just FILTER_SCHEDULE_THREAD (without FILTER_HANDLED) is illegal, but the above states that either FILTER_HANDLED or FILTER_SCHEDULE_THREAD is valid.. Shouldn't it read something like: Either FILTER_STRAY or FILTER_HANDLED must be specified. If FILTER_HANDLED is specified, the FILTER_SCHEDULE_THREAD flag may be provided to schedule the ithread. > BTW, kris@ just told me that sun4v is broken since my first > intr filtering commit: can we sat down and try to fix it or > should we consider it officialy dead? kmacy is probably a better person to talk to about this... Though I have done some work on sun4v, I don't have immediate access to one, and didn't work on the low level interrupt code as much as kmacy did... I did look over the changes and don't see how things broken, but that was purely by inspection... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."