Module Name:    src
Committed By:   christos
Date:           Wed Jan 24 16:11:48 UTC 2024

Modified Files:
        src/sys/kern: sched_m2.c

Log Message:
Unbreak sched_m2 (died because lwp_eproc() KASSERT in DIAGNOSTIC) and explain
what is going on. This has been broken since the introduction of l_mutex
5 months ago.


To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/kern/sched_m2.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/sched_m2.c
diff -u src/sys/kern/sched_m2.c:1.39 src/sys/kern/sched_m2.c:1.40
--- src/sys/kern/sched_m2.c:1.39	Sat May 23 17:24:41 2020
+++ src/sys/kern/sched_m2.c	Wed Jan 24 11:11:48 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: sched_m2.c,v 1.39 2020/05/23 21:24:41 ad Exp $	*/
+/*	$NetBSD: sched_m2.c,v 1.40 2024/01/24 16:11:48 christos Exp $	*/
 
 /*
  * Copyright (c) 2007, 2008 Mindaugas Rasiukevicius <rmind at NetBSD org>
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sched_m2.c,v 1.39 2020/05/23 21:24:41 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sched_m2.c,v 1.40 2024/01/24 16:11:48 christos Exp $");
 
 #include <sys/param.h>
 
@@ -91,14 +91,22 @@ sched_rqinit(void)
 	sched_rrticks = mstohz(100);			/* ~100 ms */
 	sched_precalcts();
 
-#ifdef notdef
+#ifdef notyet
 	/* Need to set the name etc. This does not belong here */
 	/* Attach the primary CPU here */
 	sched_cpuattach(curcpu());
 #endif
 
 	sched_lwp_fork(NULL, &lwp0);
+#ifdef notyet
+	/* without attaching the primary CPU l_mutex does not get initialized */
+	lwp_lock(&lwp0);
 	sched_newts(&lwp0);
+	lwp_unlock(&lwp0);
+#else
+	/* gross */
+	lwp0.l_sched.timeslice = ts_map[lwp0.l_auxprio];
+#endif
 }
 
 /* Pre-calculate the time-slices for the priorities */

Reply via email to