We don't actually need these NULL-checks, my mistake.

sched_init_cpu() is only ever run once for a given cpu_info.

ok?

Index: kern_sched.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sched.c,v
retrieving revision 1.87
diff -u -p -r1.87 kern_sched.c
--- kern_sched.c        29 Aug 2023 16:19:34 -0000      1.87
+++ kern_sched.c        31 Aug 2023 15:24:02 -0000
@@ -88,26 +88,15 @@ sched_init_cpu(struct cpu_info *ci)
 
        spc->spc_idleproc = NULL;
 
-       if (spc->spc_itimer == NULL) {
-               spc->spc_itimer = clockintr_establish(&ci->ci_queue,
-                   itimer_update);
-               if (spc->spc_itimer == NULL) {
-                       panic("%s: clockintr_establish itimer_update",
-                           __func__);
-               }
-       }
-       if (spc->spc_profclock == NULL) {
-               spc->spc_profclock = clockintr_establish(&ci->ci_queue,
-                   profclock);
-               if (spc->spc_profclock == NULL)
-                       panic("%s: clockintr_establish profclock", __func__);
-       }
-       if (spc->spc_roundrobin == NULL) {
-               spc->spc_roundrobin = clockintr_establish(&ci->ci_queue,
-                   roundrobin);
-               if (spc->spc_roundrobin == NULL)
-                       panic("%s: clockintr_establish roundrobin", __func__);
-       }
+       spc->spc_itimer = clockintr_establish(&ci->ci_queue, itimer_update);
+       if (spc->spc_itimer == NULL)
+               panic("%s: clockintr_establish itimer_update", __func__);
+       spc->spc_profclock = clockintr_establish(&ci->ci_queue, profclock);
+       if (spc->spc_profclock == NULL)
+               panic("%s: clockintr_establish profclock", __func__);
+       spc->spc_roundrobin = clockintr_establish(&ci->ci_queue, roundrobin);
+       if (spc->spc_roundrobin == NULL)
+               panic("%s: clockintr_establish roundrobin", __func__);
 
        kthread_create_deferred(sched_kthreads_create, ci);
 

Reply via email to