From owner-freebsd-current@FreeBSD.ORG Tue Mar 17 20:28:21 2009 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F44E106564A for ; Tue, 17 Mar 2009 20:28:21 +0000 (UTC) (envelope-from barney_cordoba@yahoo.com) Received: from web63902.mail.re1.yahoo.com (web63902.mail.re1.yahoo.com [69.147.97.117]) by mx1.freebsd.org (Postfix) with SMTP id BA4F28FC14 for ; Tue, 17 Mar 2009 20:28:20 +0000 (UTC) (envelope-from barney_cordoba@yahoo.com) Received: (qmail 53848 invoked by uid 60001); 17 Mar 2009 20:28:20 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1237321700; bh=qS//RhLYMeXWwAP0N2u0f+NcvA039zkMZLUHSmQABnQ=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=z3eEXZIaE9BzFSGulOHhtvPpQ3jjyev4lMFJPnNT//BjjRMW/mhKpzzItIV7G5LZAMprCwoTicXU85XXbX3mcbvql8XSn87V2flhD4uFjDWk4ej9j7gEu4eyTq605MabFsTnCXBjvxA9hEEHgjjkZXZEJosnIVrjEM+fRBJWaHE= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=gQwHkClcaU+DAWMN1t7tTJ04JyT4OIVGg+EGeFohPfKtIJnHiHW7PCtjOY3BZS+pQV7ZU7qjqMXCiwoNmq/AsrfBLa7PHtZlEIB+/WfCqFd8WtF1bAO2LaPNT+C4bx/rEGDlmSJOgMlp10qtFzHSotu99R6+P13fyjTyHMpaQkk=; Message-ID: <270142.53274.qm@web63902.mail.re1.yahoo.com> X-YMail-OSG: PZRA9uUVM1mGPOWf7T5VDgkl5HtcHF0z0zGZ_dSpgGGbYxXO_6CgD8oahMPWGAUz0vysqrKywqcxuyOymFMz_AUTw0MVXFahi.sayn1_Yy6VQZVmf0_gbHqbJEZZMK7dreD3pn5pRXjp4fwWQunp8PUIV65PlLCpL9GHi6otGCJojrcMXmsQnYgH1oRCpzm9fS6oPNwxtvg5KRCYVRn8GIDHuL66x9C4GsEXfug849qCBy5SdLgEC8A- Received: from [98.242.222.229] by web63902.mail.re1.yahoo.com via HTTP; Tue, 17 Mar 2009 13:28:20 PDT X-Mailer: YahooMailWebService/0.7.289.1 Date: Tue, 17 Mar 2009 13:28:20 -0700 (PDT) From: Barney Cordoba To: Paolo Pisati , Robert Watson In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: current@freebsd.org Subject: Re: Interrupt routine usage not shown by top in 8.0 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: barney_cordoba@yahoo.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2009 20:28:21 -0000 --- On Tue, 3/17/09, Robert Watson wrote: > From: Robert Watson > Subject: Re: Interrupt routine usage not shown by top in 8.0 > To: "Paolo Pisati" > Cc: "Barney Cordoba" , current@freebsd.org > Date: Tuesday, March 17, 2009, 11:24 AM > On Tue, 17 Mar 2009, Paolo Pisati wrote: > > > perhaps i misunderstood your question, but i'll > try to explain a bit: > > > > before 7.0, bus_setup_intr() took just one function > thus you could have an INTR_FAST or an INTR_MPSAFE handler, > and you choose the kind of handler via a flag (INTR_FAST in > this case). > > > > after 7.0, bus_setup_intr() took 2 functions, thus you > could have: a fast handler (aka filter), or an ithread > handler (aka mpsafe), or a fast + ithread handler (available > only with INTR_FILTER turned on). > > > > in bus_setup_intr() the first function pointer is for > the filter side of the handler, while the second pointer is > for the ithread part, and if you declare both you can filter > events (interrupts) and call the rest of the device driver > (the ithread part) after the filter has recognized and > acknowledged&masked the interrupt. > > This clarifies my misunderstanding, thanks! > I'd still be interested in knowing the specific advantage/consequences of a fast filter vs an MPSAFE ithread? In what circumstance would using a filter and then launching a task be advantageous over just using an ithread? Barney