Remove the IDR_CHEETAH_MAX_BN_PAIRS limit from cheetah_ipi_selected().
This is just a simple approach. For reasons unknown OpenSolaris uses a more sophisticated one involving IPIing the remaining CPUs in reverse order after the first batch of 32.
This commit is contained in:
parent
0b46b417fc
commit
410cde006a
@ -139,8 +139,6 @@ static cpu_ipi_single_t spitfire_ipi_single;
|
||||
|
||||
SYSINIT(cpu_mp_unleash, SI_SUB_SMP, SI_ORDER_FIRST, cpu_mp_unleash, NULL);
|
||||
|
||||
CTASSERT(MAXCPU <= IDR_CHEETAH_MAX_BN_PAIRS);
|
||||
|
||||
void
|
||||
mp_init(u_int cpu_impl)
|
||||
{
|
||||
@ -696,6 +694,8 @@ cheetah_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2)
|
||||
ASI_SDB_INTR_W, 0);
|
||||
membar(Sync);
|
||||
bnp++;
|
||||
if (bnp == IDR_CHEETAH_MAX_BN_PAIRS)
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (((ids = ldxa(0, ASI_INTR_DISPATCH_STATUS)) &
|
||||
|
Loading…
Reference in New Issue
Block a user