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