On Thu, Aug 31, 2023 at 10:30:45AM -0500, Scott Cheloha wrote: > We don't actually need these NULL-checks, my mistake. > > sched_init_cpu() is only ever run once for a given cpu_info. > > ok?
Yes please. OK claudio@ > 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); > -- :wq Claudio