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 [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message