From owner-freebsd-current Tue Jul 16 13:44:50 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 880F337B400; Tue, 16 Jul 2002 13:44:48 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id C780F43E42; Tue, 16 Jul 2002 13:44:47 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id QAA26368; Tue, 16 Jul 2002 16:44:47 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g6GKiHa52055; Tue, 16 Jul 2002 16:44:17 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15668.34209.159527.233804@grasshopper.cs.duke.edu> Date: Tue, 16 Jul 2002 16:44:17 -0400 (EDT) To: John Baldwin Cc: current@FreeBSD.org Subject: Re: VOP_GETATTR panic on Alpha In-Reply-To: References: <15668.31168.555993.138907@grasshopper.cs.duke.edu> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG John Baldwin writes: > > I like my second, it is easier, just add this to choosethread: Don't all these compares in the critical path add up? > if (panicstr && > ((td->td_proc->p_flag & P_SYSTEM) == 0 && > (td->td_flags & TDF_INPANIC) == 0)) > goto top; > > (Do this just before the td_state change and return()). > > You of couse need to set TDF_INPANIC when setting panicstr. This > might mean that we break the restartable panics case. In that > case you would just change this so that runq_choose() actually does > the work to ignore threads on the run queue instead which eliminates > the loop and ugly goto and preserves the runqueue state in the core > dump. I assume I also need to remove the panicstr check in at least msleep. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message