From owner-freebsd-current@FreeBSD.ORG Mon May 18 17:07:40 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3C771065757 for ; Mon, 18 May 2009 17:07:40 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 7419B8FC18 for ; Mon, 18 May 2009 17:07:40 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 2951246B03; Mon, 18 May 2009 13:07:40 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id B3F558A028; Mon, 18 May 2009 13:07:38 -0400 (EDT) From: John Baldwin To: freebsd-current@freebsd.org Date: Mon, 18 May 2009 11:34:28 -0400 User-Agent: KMail/1.9.7 References: <3c0b01820905141202w113966dp4bfbab73d84d585@mail.gmail.com> <3c0b01820905141603g59e439c1y7202532bc1f4f87@mail.gmail.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200905181134.29076.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Mon, 18 May 2009 13:07:38 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Alexander Sack , d@delphij.net, Ryan Stone Subject: Re: Broadcom bge(4) panics while shutting down X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 May 2009 17:07:41 -0000 On Thursday 14 May 2009 7:45:21 pm Ryan Stone wrote: > This is hopefully a stupid question, but what's stopping bge(or em, or any > driver) from unloading and freeing the ifp(and blowing away the module's > .text section) after we drop the sc lock? The detach routine is supposed to handle that by blocking until any other contexts which can call into the driver are finished. So, for example, bus_teardown_intr() will block if a device's interrupt handler is currently running and not return until the handler is fully detached from the interrupt resource and when the system knows that the handler is finished executing. Similarly with callout_drain() for callout routines and taskqueue_drain() for asynchronous tasks. -- John Baldwin