From owner-freebsd-usb@FreeBSD.ORG Tue Nov 16 07:20:51 2004 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4531216A4CE for ; Tue, 16 Nov 2004 07:20:51 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB5FB43D41 for ; Tue, 16 Nov 2004 07:20:50 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (harmony.village.org [10.0.0.6]) by harmony.village.org (8.13.1/8.13.1) with ESMTP id iAG7IH08029821; Tue, 16 Nov 2004 00:18:17 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 16 Nov 2004 00:18:37 -0700 (MST) Message-Id: <20041116.001837.08405046.imp@bsdimp.com> To: alex.wilkinson@dsto.defence.gov.au From: "M. Warner Losh" In-Reply-To: <20041116065801.GG58198@squash.dsto.defence.gov.au> References: <20041112.083950.81797260.imp@bsdimp.com> <20041116065801.GG58198@squash.dsto.defence.gov.au> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: usb@freebsd.org Subject: Re: FAST Interrupt patch for usb X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2004 07:20:51 -0000 In message: <20041116065801.GG58198@squash.dsto.defence.gov.au> "Wilkinson, Alex" writes: : Warner, for the sake of others reading the archives and myself, can you : please give us all a quick summary of what the diff is between "fast" and : "soft" interrupts ? First, the patch just make the interrupts MPSAFE. This means that they can be called w/o giant being held. A FAST interrupt has further restirtions which this patch doesn't quite meet (but could with a little work). A normal interrupt MPSAFE or not is scheduled to run and all the ISRs for that interrupt get called. A soft interrupt, also referred to as a SWI sometimes, is a way for the interrupt handler to be lightweight and have it defer processing of the data a little so that other ISRs can run with less latency. A soft interrupt basically runs when there are no hardware interrupts to service, but higher in priority than kernel or user threads. The above is only an approximate flavor of the different terms. Warner