From owner-freebsd-hackers@FreeBSD.ORG Tue Feb 20 17:50:26 2007 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 918FE16B3D1; Tue, 20 Feb 2007 17:50:26 +0000 (UTC) (envelope-from piso@newluxor.wired.org) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.freebsd.org (Postfix) with ESMTP id 258C113C471; Tue, 20 Feb 2007 17:50:26 +0000 (UTC) (envelope-from piso@newluxor.wired.org) Received: from newluxor.wired.org (ip-91-186.sn1.eutelia.it [62.94.91.186]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oltrelinux.com (Postfix) with ESMTP id 1ED0511AEB2; Tue, 20 Feb 2007 18:26:11 +0100 (CET) Received: (from piso@localhost) by newluxor.wired.org (8.13.8/8.13.8/Submit) id l1KHQ4aN001924; Tue, 20 Feb 2007 18:26:04 +0100 (CET) (envelope-from piso) Date: Tue, 20 Feb 2007 18:25:59 +0100 From: Paolo Pisati To: FreeBSD_Current , FreeBSD_Hackers Message-ID: <20070220172559.GA1569@tin.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Subject: HEADS UP: interrupt filtering & newbus API breakage X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Feb 2007 17:50:26 -0000 Hi developers, after re@ approval, i'm ready to commit my first interrupt filtering patch that contains _JUST_ the modification to the newbus API: no new features, no improvement to the interrupt handling, etcetc The patches against a 4 weeks old HEAD are here: http://people.freebsd.org/~piso/intr_filter/ where: * intr_filter-newbus-MI.patch contains the diffs against the MI code * intr_filter-newbus-$ARCH.patch contains the diffs against the MD code for the various $ARCHs * intr_filter-newbus-full.patch contains all the diffs in one big patch file For every patch file, there's a $patch.files, containing the list of files modified by that patch. Moreover, i put there a tarball of my src/sys dir (sys-intr.tgz) just in case the big patch doesn't apply correctly. In details these patches do: -change bus_setup_intr() syntax (and the functions strictly connected to it), adding a new filter_t argument -> this modification affects all the drivers in our tree, and is the main source of 'fatness' of this patch -retire INTR_FAST/IH_FAST (with the above modification to the syntax of bus_setup_intr() these flags were redundant and senseless) -change the FAST handlers to return a value (interrupt handled/interrupt not handled/etcetc) Unfortunately the patch is big (170kb), but the modifications were mainly mechanical and i pushed different developers to test/review my code. I run these patches on i386 & amd64 for quite a bit, and all the other archs (but sun4v) were tested with this code, and showed no ill effects. With this patch in place, all the remainig work about interrupt filtering can be commited and wrapped in #ifdef ... #endif without affecting the normal interrupt handler. Moreover, with this "noise" out of my dvelopment branch, the rest of the work (aka the new interrupt handling mechanism) could be easily reviewed by different people. So, if none as anything against it, i'm going to commit this work on Friday 23 around 14:00 UTC, so speak now or forever hold your peace. bye, P.