Date: Tue, 16 Jul 2002 16:44:17 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: John Baldwin <jhb@FreeBSD.org> Cc: current@FreeBSD.org Subject: Re: VOP_GETATTR panic on Alpha Message-ID: <15668.34209.159527.233804@grasshopper.cs.duke.edu> In-Reply-To: <XFMail.20020716161332.jhb@FreeBSD.org> References: <15668.31168.555993.138907@grasshopper.cs.duke.edu> <XFMail.20020716161332.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15668.34209.159527.233804>