mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 01:30:30 -04:00
Yield while spinning on APs and avoid announcing all CPUs unless bootverbose
is set. These improve startup performance on massively multithreaded systems with 8-way SMT and dozens to hundreds of CPUs. MFC after: 3 weeks
This commit is contained in:
parent
de2dd83fb9
commit
f04a8fd6a9
1 changed files with 5 additions and 1 deletions
|
|
@ -78,7 +78,8 @@ machdep_ap_bootstrap(void)
|
|||
__asm __volatile("msync; isync");
|
||||
|
||||
while (ap_letgo == 0)
|
||||
;
|
||||
__asm __volatile("or 27,27,27");
|
||||
__asm __volatile("or 6,6,6");
|
||||
|
||||
/* Initialize DEC and TB, sync with the BSP values */
|
||||
platform_smp_timebase_sync(ap_timebase, 1);
|
||||
|
|
@ -177,6 +178,9 @@ cpu_mp_announce(void)
|
|||
struct pcpu *pc;
|
||||
int i;
|
||||
|
||||
if (!bootverbose)
|
||||
return;
|
||||
|
||||
CPU_FOREACH(i) {
|
||||
pc = pcpu_find(i);
|
||||
if (pc == NULL)
|
||||
|
|
|
|||
Loading…
Reference in a new issue