Print this page
XXXX pass in cpu_pause_func via pause_cpus

*** 387,397 **** * fini'd afterwards. This prevents the dispatcher from encountering * PGs in which all CPUs are inactive. Offline CPUs are already * inactive in their PGs and shouldn't be reactivated, so we must * not call pg_cpu_inactive or pg_cpu_active for those CPUs. */ ! pause_cpus(NULL); for (id = 0; id < NCPU; id++) { if ((cp = cpu_get(id)) == NULL) continue; if ((cp->cpu_flags & CPU_OFFLINE) == 0) pg_cpu_inactive(cp); --- 387,397 ---- * fini'd afterwards. This prevents the dispatcher from encountering * PGs in which all CPUs are inactive. Offline CPUs are already * inactive in their PGs and shouldn't be reactivated, so we must * not call pg_cpu_inactive or pg_cpu_active for those CPUs. */ ! pause_cpus(NULL, NULL); for (id = 0; id < NCPU; id++) { if ((cp = cpu_get(id)) == NULL) continue; if ((cp->cpu_flags & CPU_OFFLINE) == 0) pg_cpu_inactive(cp);
*** 428,438 **** /* * Now that PG data has been initialized for all CPUs in the * system, replace the bootstrapped PG structure with the * initialized PG structure and call pg_cpu_active for each CPU. */ ! pause_cpus(NULL); for (id = 0; id < NCPU; id++) { if ((cp = cpu_get(id)) == NULL) continue; cp->cpu_pg = pgps[id]; if ((cp->cpu_flags & CPU_OFFLINE) == 0) --- 428,438 ---- /* * Now that PG data has been initialized for all CPUs in the * system, replace the bootstrapped PG structure with the * initialized PG structure and call pg_cpu_active for each CPU. */ ! pause_cpus(NULL, NULL); for (id = 0; id < NCPU; id++) { if ((cp = cpu_get(id)) == NULL) continue; cp->cpu_pg = pgps[id]; if ((cp->cpu_flags & CPU_OFFLINE) == 0)
*** 613,623 **** mutex_enter(&tod_lock); source_tod = tod_get(); mutex_exit(&tod_lock); /* Pause all other CPUs */ ! pause_cpus(NULL); DBG_PROM("suspend: CPUs paused\n"); /* Suspend cyclics */ cyclic_suspend(); DBG_PROM("suspend: cyclics suspended\n"); --- 613,623 ---- mutex_enter(&tod_lock); source_tod = tod_get(); mutex_exit(&tod_lock); /* Pause all other CPUs */ ! pause_cpus(NULL, NULL); DBG_PROM("suspend: CPUs paused\n"); /* Suspend cyclics */ cyclic_suspend(); DBG_PROM("suspend: cyclics suspended\n");