From owner-cvs-all@FreeBSD.ORG Tue Apr 29 11:02:33 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B6DB437B401; Tue, 29 Apr 2003 11:02:33 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id ADF4143FBD; Tue, 29 Apr 2003 11:02:30 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.8/8.12.3) with ESMTP id h3TI2RA7090631; Tue, 29 Apr 2003 12:02:27 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 29 Apr 2003 12:02:21 -0600 (MDT) Message-Id: <20030429.120221.119859807.imp@bsdimp.com> To: wollman@lcs.mit.edu From: "M. Warner Losh" In-Reply-To: <200304291800.h3TI0Dnr040242@khavrinen.lcs.mit.edu> References: <20030429133708.A84234@grasshopper.cs.duke.edu> <20030429.115524.21927823.imp@bsdimp.com> <200304291800.h3TI0Dnr040242@khavrinen.lcs.mit.edu> X-Mailer: Mew version 2.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: gallatin@cs.duke.edu cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Apr 2003 18:02:34 -0000 In message: <200304291800.h3TI0Dnr040242@khavrinen.lcs.mit.edu> Garrett Wollman writes: : < said: : : > This likely means that some higher level of locking is necessary so : > that we can make sure that the interrupts can't happen once detach : > starts. : : What am I missing here? You can just disable interrupts in the : hardware first thing, while holding whatever lock the handler would : normally need to obtain, then force-terminate the handler thread if it : happens to be waiting for that lock after you're done tearing it down. Shared interrupts mean that your ISR gets called, even if the card isn't the one doing the interrupting. Also, you can't force terminate interrupt threads at this time. Warner