FreeBSD/src 4d249cd (r328320)sys/kern sched_ule.c

ULE: provide defaults to ts_cpu

Fix a bug when the system has no CPU 0. When created, threads were implicitly assigned to CPU 0.
This had no practical effect since a real CPU was chosen immediately by the scheduler. However,
on systems without a CPU 0, sched_ule attempted to access the scheduler queue of the "old" CPU
when assigned the initial choice of the old one. This caused an attempt to use illegal memory
and a crash (or, more usually, a deadlock). Fix this by assigned new threads to the BSP
explicitly and add some asserts to see that this problem does not recur.

Authored by:           Nathan Whitehorn <nwhitehorn at freebsd.org>
Submitted by:          Wojciech Macek <wma at semihalf.com>
Obtained from:         Semihalf
Differential revision: https://reviews.freebsd.org/D13932
DeltaFile
+2-0sys/kern/sched_ule.c
+2-01 files

UnifiedSplitRaw