Sorry for this OT, I found a point in kern_switch.c, when choosethread() runs, you reset kg_last_assigned to NULL, I suspect it is incorrect, should it be:
--- kern_switch.c.orig Sun Jun 2 14:52:24 2002 +++ kern_switch.c Sun Jun 2 14:53:28 2002 @@ -67,7 +67,9 @@ kg = ke->ke_ksegrp; TAILQ_REMOVE(&kg->kg_runq, td, td_runq); if (kg->kg_last_assigned == td) - kg->kg_last_assigned = NULL; + kg->kg_last_assigned = + TAILQ_PREV(td, + threadlist_head, td_runq); } CTR2(KTR_RUNQ, "choosethread: td=%p pri=%d", td, td->td_priority); __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message