Author: marcel
Date: Sun Jul 8 17:43:25 2012
New Revision: 238256
URL: http://svn.freebsd.org/changeset/base/238256
Log:
Unleash the APs at SI_SUB_KICK_SCHEDULER so that we have them all
up and running to service interrupts. This is especially important
when the firmware has bound interrupts to CPUs, like for the SGI
Altix 350. We wake up APs at SI_SUB_CPU time and they sit and spin
until we unleash them, so there's nothing fundamentally different
from a MD perspective.
Modified:
head/sys/ia64/ia64/mp_machdep.c
Modified: head/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- head/sys/ia64/ia64/mp_machdep.c Sun Jul 8 17:02:14 2012
(r238255)
+++ head/sys/ia64/ia64/mp_machdep.c Sun Jul 8 17:43:25 2012
(r238256)
@@ -466,6 +466,7 @@ cpu_mp_unleash(void *dummy)
*/
ia64_bind_intr();
}
+SYSINIT(start_aps, SI_SUB_KICK_SCHEDULER, SI_ORDER_ANY, cpu_mp_unleash, NULL);
/*
* send an IPI to a set of cpus.
@@ -522,5 +523,3 @@ ipi_send(struct pcpu *cpu, int xiv)
ia64_mf_a();
CTR3(KTR_SMP, "ipi_send(%p, %d): cpuid=%d", cpu, xiv, PCPU_GET(cpuid));
}
-
-SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, cpu_mp_unleash, NULL);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"