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
53d7b1890a
commit
0590c5567e
@ -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…
x
Reference in New Issue
Block a user