Lines Matching refs:fssproj

680 	fssproj_t *fssproj;  in fss_find_fssproj()  local
689 fssproj = fsspset->fssps_list; in fss_find_fssproj()
691 if (fssproj->fssp_proj == kpj) { in fss_find_fssproj()
692 ASSERT(fssproj->fssp_pset == fsspset); in fss_find_fssproj()
693 return (fssproj); in fss_find_fssproj()
695 fssproj = fssproj->fssp_next; in fss_find_fssproj()
696 } while (fssproj != fsspset->fssps_list); in fss_find_fssproj()
707 fssproj_t *fssproj) in fss_insert_fssproj() argument
711 fssproj->fssp_pset = fsspset; in fss_insert_fssproj()
712 fssproj->fssp_proj = kpj; in fss_insert_fssproj()
713 fssproj->fssp_shares = kpj->kpj_shares; in fss_insert_fssproj()
721 fssproj->fssp_next = fssproj->fssp_prev = fssproj; in fss_insert_fssproj()
722 fsspset->fssps_list = fssproj; in fss_insert_fssproj()
729 fssproj->fssp_next = fssp_head; in fss_insert_fssproj()
730 fssproj->fssp_prev = fssp_head->fssp_prev; in fss_insert_fssproj()
731 fssp_head->fssp_prev->fssp_next = fssproj; in fss_insert_fssproj()
732 fssp_head->fssp_prev = fssproj; in fss_insert_fssproj()
733 fsspset->fssps_list = fssproj; in fss_insert_fssproj()
735 fssproj->fssp_fsszone = fsszone; in fss_insert_fssproj()
749 fss_remove_fssproj(fsspset_t *fsspset, fssproj_t *fssproj) in fss_remove_fssproj() argument
755 ASSERT(fssproj->fssp_runnable == 0); in fss_remove_fssproj()
759 fsszone = fssproj->fssp_fsszone; in fss_remove_fssproj()
762 if (fssproj->fssp_next != fssproj) { in fss_remove_fssproj()
766 fssproj->fssp_prev->fssp_next = fssproj->fssp_next; in fss_remove_fssproj()
767 fssproj->fssp_next->fssp_prev = fssproj->fssp_prev; in fss_remove_fssproj()
768 if (fsspset->fssps_list == fssproj) in fss_remove_fssproj()
769 fsspset->fssps_list = fssproj->fssp_next; in fss_remove_fssproj()
789 fssproj_t *fssproj; in fss_inactive() local
795 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_inactive()
796 if (fssproj == NULL) /* if this thread already exited */ in fss_inactive()
798 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_inactive()
799 fsszone = fssproj->fssp_fsszone; in fss_inactive()
801 ASSERT(fssproj->fssp_runnable > 0); in fss_inactive()
802 if (--fssproj->fssp_runnable == 0) { in fss_inactive()
803 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_inactive()
816 fssproj_t *fssproj; in fss_active() local
822 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_active()
823 if (fssproj == NULL) /* if this thread already exited */ in fss_active()
825 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_active()
826 fsszone = fssproj->fssp_fsszone; in fss_active()
828 if (++fssproj->fssp_runnable == 1) { in fss_active()
829 fsszone->fssz_shares += fssproj->fssp_shares; in fss_active()
931 fssproj_t *fssproj; in fss_newpri() local
947 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_newpri()
948 fsszone = FSSPROJ2FSSZONE(fssproj); in fss_newpri()
949 if (fssproj == NULL) in fss_newpri()
955 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_newpri()
961 if (fssproj->fssp_shares == 0 || fsszone->fssz_rshares == 0) { in fss_newpri()
971 n_runnable = fssproj->fssp_runnable; in fss_newpri()
983 fsspri += fssproj->fssp_shusage * n_runnable * ticks; in fss_newpri()
1040 fssproj_t *fssproj; in fss_decay_usage() local
1058 (fssproj = fsspset->fssps_list) == NULL) { in fss_decay_usage()
1078 fsszone = fssproj->fssp_fsszone; in fss_decay_usage()
1094 fssproj->fssp_usage = in fss_decay_usage()
1095 (fssproj->fssp_usage * FSS_DECAY_USG) / in fss_decay_usage()
1097 fssproj->fssp_ticks; in fss_decay_usage()
1099 fssproj->fssp_ticks = 0; in fss_decay_usage()
1100 zp->zone_run_ticks += fssproj->fssp_tick_cnt; in fss_decay_usage()
1101 fssproj->fssp_tick_cnt = 0; in fss_decay_usage()
1107 kpj_shares = fssproj->fssp_proj->kpj_shares; in fss_decay_usage()
1108 if (fssproj->fssp_shares != kpj_shares) { in fss_decay_usage()
1109 if (fssproj->fssp_runnable != 0) { in fss_decay_usage()
1111 fssproj->fssp_shares; in fss_decay_usage()
1114 fssproj->fssp_shares = kpj_shares; in fss_decay_usage()
1138 if (fssproj->fssp_runnable > 0) { in fss_decay_usage()
1154 fssproj->fssp_shr_pct = 0; in fss_decay_usage()
1161 fssproj->fssp_shr_pct = in fss_decay_usage()
1167 fssproj); in fss_decay_usage()
1175 fssproj->fssp_shusage = 0; in fss_decay_usage()
1176 } else if (FSSPROJ2KPROJ(fssproj) == proj0p) { in fss_decay_usage()
1191 fssproj->fssp_shr_pct = zone_shr_pct / 2; in fss_decay_usage()
1193 fssproj->fssp_shusage = (fssproj->fssp_usage * in fss_decay_usage()
1229 fssproj->fssp_shusage = fssproj->fssp_usage * in fss_decay_usage()
1231 fssproj->fssp_shusage /= in fss_decay_usage()
1233 fssproj->fssp_shusage *= in fss_decay_usage()
1235 fssproj->fssp_shusage /= in fss_decay_usage()
1238 fssproj = fssproj->fssp_next; in fss_decay_usage()
1239 } while (fssproj != fsspset->fssps_list); in fss_decay_usage()
1355 fssproj_t *fssproj; in fss_update_list() local
1376 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_update_list()
1377 if (fssproj == NULL) in fss_update_list()
1380 if (fssproj->fssp_shares != 0) { in fss_update_list()
1627 fssproj_t *fssproj; in fss_enterclass() local
1711 if ((fssproj = fss_find_fssproj(fsspset, kpj)) == NULL) { in fss_enterclass()
1712 if ((fssproj = kmem_zalloc(sizeof (fssproj_t), KM_NOSLEEP)) in fss_enterclass()
1721 fss_insert_fssproj(fsspset, kpj, fsszone, fssproj); in fss_enterclass()
1724 fssproj->fssp_threads++; in fss_enterclass()
1725 fssproc->fss_proj = fssproj; in fss_enterclass()
1769 fssproj_t *fssproj; in fss_exitclass() local
1793 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_exitclass()
1794 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_exitclass()
1795 fsszone = fssproj->fssp_fsszone; in fss_exitclass()
1799 if (--fssproj->fssp_runnable == 0) { in fss_exitclass()
1800 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_exitclass()
1810 if (--fssproj->fssp_threads == 0) { in fss_exitclass()
1811 fss_remove_fssproj(fsspset, fssproj); in fss_exitclass()
1814 kmem_free(fssproj, sizeof (fssproj_t)); in fss_exitclass()
1856 fssproj_t *fssproj; in fss_fork() local
1868 fssproj = FSSPROC2FSSPROJ(pfssproc); in fss_fork()
1869 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_fork()
1877 ASSERT(FSSPROJ(pt) == fssproj); in fss_fork()
1878 cfssproc->fss_proj = fssproj; in fss_fork()
1894 fssproj->fssp_threads++; in fss_fork()
2064 fssproj_t *fssproj; in fss_exit() local
2078 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_exit()
2079 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_exit()
2080 fsszone = fssproj->fssp_fsszone; in fss_exit()
2088 if (--fssproj->fssp_runnable == 0) { in fss_exit()
2089 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_exit()
2096 if (--fssproj->fssp_threads == 0) { in fss_exit()
2097 fss_remove_fssproj(fsspset, fssproj); in fss_exit()
2107 kmem_free(fssproj, sizeof (fssproj_t)); in fss_exit()
2399 fssproj_t *fssproj; in fss_tick() local
2412 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_tick()
2413 if (fssproj != NULL) { in fss_tick()
2414 fsspset_t *fsspset = FSSPROJ2FSSPSET(fssproj); in fss_tick()
2416 fssproj->fssp_ticks += fss_nice_tick[fssproc->fss_nice]; in fss_tick()
2417 fssproj->fssp_tick_cnt++; in fss_tick()