From owner-p4-projects@FreeBSD.ORG Tue Sep 14 08:15:07 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7277416A4D0; Tue, 14 Sep 2004 08:15:07 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 454F116A4CE for ; Tue, 14 Sep 2004 08:15:07 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F4EA43D49 for ; Tue, 14 Sep 2004 08:15:07 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8E8F70X008503 for ; Tue, 14 Sep 2004 08:15:07 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8E8F6Uu008500 for perforce@freebsd.org; Tue, 14 Sep 2004 08:15:06 GMT (envelope-from julian@freebsd.org) Date: Tue, 14 Sep 2004 08:15:06 GMT Message-Id: <200409140815.i8E8F6Uu008500@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61481 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Sep 2004 08:15:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=61481 Change 61481 by julian@julian_ref on 2004/09/14 08:14:20 try be more rigorous about counting threads in run queue etc. Affected files ... .. //depot/projects/nsched/sys/kern/kern_switch.c#26 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#53 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#33 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_switch.c#26 (text+ko) ==== @@ -389,7 +389,6 @@ } kg->kg_avail_opennings = 1; } - kg->kg_avail_opennings--; sched_add(td, flags); return; } @@ -450,7 +449,6 @@ td2 = TAILQ_NEXT(tda, td_runq); kg->kg_last_assigned = td2; } - kg->kg_avail_opennings--; sched_add(td2, flags); } else { CTR3(KTR_RUNQ, "setrunqueue: held: td%p kg%p pid%d", ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#53 (text+ko) ==== @@ -1024,6 +1024,7 @@ } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt++; + td->td_ksegrp->kg_avail_opennings--; runq_add(ke->ke_runq, ke); ke->ke_ksegrp->kg_runq_kses++; ke->ke_state = KES_ONRUNQ; ==== //depot/projects/nsched/sys/kern/sched_ule.c#33 (text+ko) ==== @@ -1773,6 +1773,7 @@ curthread->td_flags |= TDF_NEEDRESCHED; if (preemptive && maybe_preempt(td)) return; + td->td_ksegrp->kg_avail_opennings--; ke->ke_ksegrp->kg_runq_threads++; ke->ke_state = KES_ONRUNQ;