Don't treat NOCPU as a valid CPU to CPU_ISSET.
If a thread is created bound to a cpuset it might already be bound before it's very first timeslice, and td_lastcpu will be NOCPU in that case. MFC after: 1 week
This commit is contained in:
parent
90f6fb9380
commit
040924b411
@ -1241,7 +1241,7 @@ sched_pickcpu(struct thread *td)
|
||||
|
||||
mtx_assert(&sched_lock, MA_OWNED);
|
||||
|
||||
if (THREAD_CAN_SCHED(td, td->td_lastcpu))
|
||||
if (td->td_lastcpu != NOCPU && THREAD_CAN_SCHED(td, td->td_lastcpu))
|
||||
best = td->td_lastcpu;
|
||||
else
|
||||
best = NOCPU;
|
||||
|
Loading…
Reference in New Issue
Block a user