From owner-freebsd-smp@FreeBSD.ORG Tue Mar 2 11:43:30 2004 Return-Path: Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C51DA16A4CE for ; Tue, 2 Mar 2004 11:43:30 -0800 (PST) Received: from mail1.speakeasy.net (mail1.speakeasy.net [216.254.0.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 989B743D39 for ; Tue, 2 Mar 2004 11:43:30 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 19630 invoked from network); 2 Mar 2004 19:43:30 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 2 Mar 2004 19:43:30 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i22JhO28082682; Tue, 2 Mar 2004 14:43:25 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: smp@FreeBSD.org Date: Tue, 2 Mar 2004 12:25:24 -0500 User-Agent: KMail/1.6 References: <4044B412.4E604099@syskonnect.de> In-Reply-To: <4044B412.4E604099@syskonnect.de> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200403021225.24472.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Gerald Heinig cc: freebsd-smp@freebsd.org Subject: Re: Parallel interrupt threads X-BeenThere: freebsd-smp@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: FreeBSD SMP implementation group List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 19:43:30 -0000 On Tuesday 02 March 2004 11:19 am, Gerald Heinig wrote: > Hello all, > > I have a question about the assumptions I can make when designing the > locking scheme for my driver. > I need to know whether more than one interrupt thread can execute at any > time for a particular device. Under some systems (eg. Aix, I believe) > one can specify whether the interrupt service routine should be called > sequentially or whether it can be called in parallel on multiple > processors. In other words, do I need to lock (portions of) the ISR > against itself, or is there a guarantee that at most one ISR will be > active for a given device at any time? > > Also, what about processor binding? IIRC Solaris can bind all interrupts > from a particular device to one CPU. Does FreeBSD do this too, or can > any CPU process the ISR? Not that it matters which CPU actually does the > work, but it's an extension to the question above. > > Any answers much appreciated. Currently only a single ISR will execute at a time and I don't expect that to change any time soon. Ithreads currently are not bound to CPUs but execute on any CPU. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org