diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 5c8bae5afa1b..e1d2b5f34b60 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -1405,7 +1405,6 @@ sched_setup(void *dummy) /* Add thread0's load since it's running. */ TDQ_LOCK(tdq); - td_get_sched(&thread0)->ts_cpu = curcpu; /* Something valid to start */ thread0.td_lock = TDQ_LOCKPTR(TDQ_SELF()); tdq_load_add(tdq, &thread0); tdq->tdq_lowpri = thread0.td_priority; @@ -1642,6 +1641,7 @@ schedinit(void) ts0->ts_ltick = ticks; ts0->ts_ftick = ticks; ts0->ts_slice = 0; + ts0->ts_cpu = curcpu; /* set valid CPU number */ } /* @@ -2453,7 +2453,6 @@ sched_add(struct thread *td, int flags) * Pick the destination cpu and if it isn't ours transfer to the * target cpu. */ - td_get_sched(td)->ts_cpu = curcpu; /* Pick something valid to start */ cpu = sched_pickcpu(td, flags); tdq = sched_setcpu(td, cpu, flags); tdq_add(tdq, td, flags);