Lines Matching refs:cpi
766 struct _cpu_pause_info *cpi = &cpu_pause_info; in cpu_pause() local
775 sema_v(&cpi->cp_sem); /* signal requesting thread */ in cpu_pause()
784 while (cpi->cp_go == 0) in cpu_pause()
801 if (cpi->cp_func != NULL) in cpu_pause()
802 (*cpi->cp_func)((void *)lindex); in cpu_pause()
994 struct _cpu_pause_info *cpi = &cpu_pause_info; in pause_cpus() local
997 ASSERT(cpi->cp_paused == NULL); in pause_cpus()
998 cpi->cp_count = 0; in pause_cpus()
999 cpi->cp_go = 0; in pause_cpus()
1004 cpi->cp_func = func; in pause_cpus()
1020 cpi->cp_count = cpu_pause_start(cpu_id); in pause_cpus()
1025 while (cpi->cp_count > 0) { in pause_cpus()
1031 while (sema_held(&cpi->cp_sem)) in pause_cpus()
1033 if (sema_tryp(&cpi->cp_sem)) in pause_cpus()
1034 --cpi->cp_count; in pause_cpus()
1036 cpi->cp_go = 1; /* all have reached cpu_pause */ in pause_cpus()
1046 cpi->cp_spl = splhigh(); /* block dispatcher on this CPU */ in pause_cpus()
1047 cpi->cp_paused = curthread; in pause_cpus()