Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Oct 2004 21:40:14 GMT
From:      Julian Elischer <julian@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 62704 for review
Message-ID:  <200410052140.i95LeEJ2080909@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=62704

Change 62704 by julian@julian_ref on 2004/10/05 21:39:28

	 IFC@62701 Loop back changes

Affected files ...

.. //depot/projects/nsched/sys/kern/kern_switch.c#38 integrate
.. //depot/projects/nsched/sys/kern/sched_4bsd.c#60 integrate
.. //depot/projects/nsched/sys/kern/sched_ule.c#38 integrate

Differences ...

==== //depot/projects/nsched/sys/kern/kern_switch.c#38 (text+ko) ====

@@ -86,7 +86,7 @@
 ***/
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.95 2004/09/19 18:34:17 das Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.96 2004/10/05 21:10:43 julian Exp $");
 
 #include "opt_sched.h"
 

==== //depot/projects/nsched/sys/kern/sched_4bsd.c#60 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.65 2004/09/16 07:12:59 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.66 2004/10/05 21:10:44 julian Exp $");
 
 #define kse td_sched
 

==== //depot/projects/nsched/sys/kern/sched_ule.c#38 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.130 2004/09/16 07:12:59 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.132 2004/10/05 21:26:27 julian Exp $");
 
 #include <opt_sched.h>
 
@@ -186,6 +186,17 @@
 	    ("slots out of whack"));*/ 					\
 } while (0)
 
+#define SLOT_USE(kg)							\
+do {									\
+	kg->kg_avail_opennings--; 					\
+	CTR3(KTR_RUNQ, "kg %p(%d) Slot used (->%d)",			\
+	kg,								\
+	kg->kg_concurrency,						\
+	 kg->kg_avail_opennings);					\
+	/*KASSERT((kg->kg_avail_opennings >= 0),			\
+	    ("slots out of whack"));*/ 					\
+} while (0)
+
 
 static struct kse kse0;
 static struct kg_sched kg_sched0;
@@ -1301,8 +1312,8 @@
 		 * then account for it as if it had been added to the
 		 * run queue and then chosen.
 		 */
+		newtd->td_kse->ke_flags |= KEF_DIDRUN;
 		SLOT_USE(newtd->td_ksegrp);
-		newtd->td_kse->ke_flags |= KEF_DIDRUN;
        		TD_SET_RUNNING(newtd);
 		kseq_load_add(KSEQ_SELF(), newtd->td_kse);
 	} else {
@@ -1827,7 +1838,7 @@
 	    ("sched_rem: KSE not on run queue"));
 
 	ke->ke_state = KES_THREAD;
-	td->td_ksegrp->kg_avail_opennings++;
+	SLOT_RELEASE(td->td_ksegrp);
 	ke->ke_ksegrp->kg_runq_threads--;
 	kseq = KSEQ_CPU(ke->ke_cpu);
 	kseq_runq_rem(kseq, ke);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410052140.i95LeEJ2080909>