Starting APs earlier during boot

Julian Elischer julian at freebsd.org
Wed Feb 17 05:33:28 UTC 2016


On 16/02/2016 12:50 PM, John Baldwin wrote:
> Currently the kernel bootstraps the non-boot processors fairly early in the
> SI_SUB_CPU SYSINIT.  The APs then spin waiting to be "released".  We currently
> release the APs as one of the last steps at SI_SUB_SMP.  On the one hand this
> removes much of the need for synchronization while SYSINITs are running since
> SYSINITs basically assume they are single-threaded.  However, it also enforces
> some odd quirks.  Several places that deal with per-CPU resources have to
> split initialization up so that the BSP init happens in one SYSINIT and the
> initialization of the APs happens in a second SYSINIT at SI_SUB_SMP.
>
> Another issue that is becoming more prominent on x86 (and probably will also
[...]

what is the goal?  cleaner  code? faster boot?
>



More information about the freebsd-arch mailing list