From owner-freebsd-current@FreeBSD.ORG Fri May 4 21:40:33 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 40E5916A406 for ; Fri, 4 May 2007 21:40:33 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outK.internet-mail-service.net (outK.internet-mail-service.net [216.240.47.234]) by mx1.freebsd.org (Postfix) with ESMTP id 2D05713C448 for ; Fri, 4 May 2007 21:40:33 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 65A0E149A5; Fri, 4 May 2007 14:06:38 -0700 (PDT) Received: from julian-mac.elischer.org (nat.ironport.com [63.251.108.100]) by idiom.com (Postfix) with ESMTP id 54B8A125B2B; Fri, 4 May 2007 14:40:32 -0700 (PDT) Message-ID: <463BA850.8000804@elischer.org> Date: Fri, 04 May 2007 14:40:32 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326) MIME-Version: 1.0 To: John Baldwin References: <463B7A1D.6020602@omnisec.de> <463BF1A7.1050504@FreeBSD.org> <200705041546.50690.jhb@freebsd.org> In-Reply-To: <200705041546.50690.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: attilio@freebsd.org, freebsd-current@freebsd.org, Harald Schmalzbauer Subject: Re: PANIC: blockable slep lock (sx) msi @ ....msi.c:374 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: Fri, 04 May 2007 21:40:33 -0000 John Baldwin wrote: > > This is wrong because once you do critical_enter(), you are free to assume > that you won't do a context switch until you critical_exit(), and sx_xlock() > would violate that if it blocked on the lock. wellllll critical enter doesn't block interupts so it's true if you don't call an interrupt as a context switch. (it doesn't SWITCH contexts but it does step into a different context.) >