Lines Matching refs:fssproj
681 fssproj_t *fssproj; in fss_find_fssproj() local
690 fssproj = fsspset->fssps_list; in fss_find_fssproj()
692 if (fssproj->fssp_proj == kpj) { in fss_find_fssproj()
693 ASSERT(fssproj->fssp_pset == fsspset); in fss_find_fssproj()
694 return (fssproj); in fss_find_fssproj()
696 fssproj = fssproj->fssp_next; in fss_find_fssproj()
697 } while (fssproj != fsspset->fssps_list); in fss_find_fssproj()
708 fssproj_t *fssproj) in fss_insert_fssproj() argument
712 fssproj->fssp_pset = fsspset; in fss_insert_fssproj()
713 fssproj->fssp_proj = kpj; in fss_insert_fssproj()
714 fssproj->fssp_shares = kpj->kpj_shares; in fss_insert_fssproj()
722 fssproj->fssp_next = fssproj->fssp_prev = fssproj; in fss_insert_fssproj()
723 fsspset->fssps_list = fssproj; in fss_insert_fssproj()
730 fssproj->fssp_next = fssp_head; in fss_insert_fssproj()
731 fssproj->fssp_prev = fssp_head->fssp_prev; in fss_insert_fssproj()
732 fssp_head->fssp_prev->fssp_next = fssproj; in fss_insert_fssproj()
733 fssp_head->fssp_prev = fssproj; in fss_insert_fssproj()
734 fsspset->fssps_list = fssproj; in fss_insert_fssproj()
736 fssproj->fssp_fsszone = fsszone; in fss_insert_fssproj()
750 fss_remove_fssproj(fsspset_t *fsspset, fssproj_t *fssproj) in fss_remove_fssproj() argument
756 ASSERT(fssproj->fssp_runnable == 0); in fss_remove_fssproj()
760 fsszone = fssproj->fssp_fsszone; in fss_remove_fssproj()
763 if (fssproj->fssp_next != fssproj) { in fss_remove_fssproj()
767 fssproj->fssp_prev->fssp_next = fssproj->fssp_next; in fss_remove_fssproj()
768 fssproj->fssp_next->fssp_prev = fssproj->fssp_prev; in fss_remove_fssproj()
769 if (fsspset->fssps_list == fssproj) in fss_remove_fssproj()
770 fsspset->fssps_list = fssproj->fssp_next; in fss_remove_fssproj()
790 fssproj_t *fssproj; in fss_inactive() local
796 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_inactive()
797 if (fssproj == NULL) /* if this thread already exited */ in fss_inactive()
799 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_inactive()
800 fsszone = fssproj->fssp_fsszone; in fss_inactive()
802 ASSERT(fssproj->fssp_runnable > 0); in fss_inactive()
803 if (--fssproj->fssp_runnable == 0) { in fss_inactive()
804 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_inactive()
817 fssproj_t *fssproj; in fss_active() local
823 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_active()
824 if (fssproj == NULL) /* if this thread already exited */ in fss_active()
826 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_active()
827 fsszone = fssproj->fssp_fsszone; in fss_active()
829 if (++fssproj->fssp_runnable == 1) { in fss_active()
830 fsszone->fssz_shares += fssproj->fssp_shares; in fss_active()
932 fssproj_t *fssproj; in fss_newpri() local
948 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_newpri()
949 fsszone = FSSPROJ2FSSZONE(fssproj); in fss_newpri()
950 if (fssproj == NULL) in fss_newpri()
956 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_newpri()
962 if (fssproj->fssp_shares == 0 || fsszone->fssz_rshares == 0) { in fss_newpri()
972 n_runnable = fssproj->fssp_runnable; in fss_newpri()
984 fsspri += fssproj->fssp_shusage * n_runnable * ticks; in fss_newpri()
1041 fssproj_t *fssproj; in fss_decay_usage() local
1059 (fssproj = fsspset->fssps_list) == NULL) { in fss_decay_usage()
1079 fsszone = fssproj->fssp_fsszone; in fss_decay_usage()
1095 fssproj->fssp_usage = in fss_decay_usage()
1096 (fssproj->fssp_usage * FSS_DECAY_USG) / in fss_decay_usage()
1098 fssproj->fssp_ticks; in fss_decay_usage()
1100 fssproj->fssp_ticks = 0; in fss_decay_usage()
1101 zp->zone_run_ticks += fssproj->fssp_tick_cnt; in fss_decay_usage()
1102 fssproj->fssp_tick_cnt = 0; in fss_decay_usage()
1108 kpj_shares = fssproj->fssp_proj->kpj_shares; in fss_decay_usage()
1109 if (fssproj->fssp_shares != kpj_shares) { in fss_decay_usage()
1110 if (fssproj->fssp_runnable != 0) { in fss_decay_usage()
1112 fssproj->fssp_shares; in fss_decay_usage()
1115 fssproj->fssp_shares = kpj_shares; in fss_decay_usage()
1139 if (fssproj->fssp_runnable > 0) { in fss_decay_usage()
1155 fssproj->fssp_shr_pct = 0; in fss_decay_usage()
1162 fssproj->fssp_shr_pct = in fss_decay_usage()
1168 fssproj); in fss_decay_usage()
1176 fssproj->fssp_shusage = 0; in fss_decay_usage()
1177 } else if (FSSPROJ2KPROJ(fssproj) == proj0p) { in fss_decay_usage()
1192 fssproj->fssp_shr_pct = zone_shr_pct / 2; in fss_decay_usage()
1194 fssproj->fssp_shusage = (fssproj->fssp_usage * in fss_decay_usage()
1230 fssproj->fssp_shusage = fssproj->fssp_usage * in fss_decay_usage()
1232 fssproj->fssp_shusage /= in fss_decay_usage()
1234 fssproj->fssp_shusage *= in fss_decay_usage()
1236 fssproj->fssp_shusage /= in fss_decay_usage()
1239 fssproj = fssproj->fssp_next; in fss_decay_usage()
1240 } while (fssproj != fsspset->fssps_list); in fss_decay_usage()
1356 fssproj_t *fssproj; in fss_update_list() local
1379 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_update_list()
1380 if (fssproj == NULL) in fss_update_list()
1383 if (fssproj->fssp_shares != 0) { in fss_update_list()
1630 fssproj_t *fssproj; in fss_enterclass() local
1714 if ((fssproj = fss_find_fssproj(fsspset, kpj)) == NULL) { in fss_enterclass()
1715 if ((fssproj = kmem_zalloc(sizeof (fssproj_t), KM_NOSLEEP)) in fss_enterclass()
1724 fss_insert_fssproj(fsspset, kpj, fsszone, fssproj); in fss_enterclass()
1727 fssproj->fssp_threads++; in fss_enterclass()
1728 fssproc->fss_proj = fssproj; in fss_enterclass()
1772 fssproj_t *fssproj; in fss_exitclass() local
1796 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_exitclass()
1797 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_exitclass()
1798 fsszone = fssproj->fssp_fsszone; in fss_exitclass()
1802 if (--fssproj->fssp_runnable == 0) { in fss_exitclass()
1803 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_exitclass()
1813 if (--fssproj->fssp_threads == 0) { in fss_exitclass()
1814 fss_remove_fssproj(fsspset, fssproj); in fss_exitclass()
1817 kmem_free(fssproj, sizeof (fssproj_t)); in fss_exitclass()
1859 fssproj_t *fssproj; in fss_fork() local
1871 fssproj = FSSPROC2FSSPROJ(pfssproc); in fss_fork()
1872 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_fork()
1880 ASSERT(FSSPROJ(pt) == fssproj); in fss_fork()
1881 cfssproc->fss_proj = fssproj; in fss_fork()
1897 fssproj->fssp_threads++; in fss_fork()
2073 fssproj_t *fssproj; in fss_exit() local
2087 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_exit()
2088 fsspset = FSSPROJ2FSSPSET(fssproj); in fss_exit()
2089 fsszone = fssproj->fssp_fsszone; in fss_exit()
2097 if (--fssproj->fssp_runnable == 0) { in fss_exit()
2098 fsszone->fssz_shares -= fssproj->fssp_shares; in fss_exit()
2105 if (--fssproj->fssp_threads == 0) { in fss_exit()
2106 fss_remove_fssproj(fsspset, fssproj); in fss_exit()
2116 kmem_free(fssproj, sizeof (fssproj_t)); in fss_exit()
2477 fssproj_t *fssproj; in fss_tick() local
2490 fssproj = FSSPROC2FSSPROJ(fssproc); in fss_tick()
2491 if (fssproj != NULL) { in fss_tick()
2492 fsspset_t *fsspset = FSSPROJ2FSSPSET(fssproj); in fss_tick()
2494 fssproj->fssp_ticks += fss_nice_tick[fssproc->fss_nice]; in fss_tick()
2495 fssproj->fssp_tick_cnt++; in fss_tick()