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