Lines Matching defs:fssproc
293 #define FSS_LIST_INSERT(fssproc) \
295 int index = FSS_LIST_HASH(fssproc->fss_tp); \
299 fssproc->fss_next = headp->fss_next; \
300 fssproc->fss_prev = headp; \
301 headp->fss_next->fss_prev = fssproc; \
302 headp->fss_next = fssproc; \
306 #define FSS_LIST_DELETE(fssproc) \
308 int index = FSS_LIST_HASH(fssproc->fss_tp); \
311 fssproc->fss_prev->fss_next = fssproc->fss_next; \
312 fssproc->fss_next->fss_prev = fssproc->fss_prev; \
789 fssproc_t *fssproc;
795 fssproc = FSSPROC(t);
796 fssproj = FSSPROC2FSSPROJ(fssproc);
808 ASSERT(fssproc->fss_runnable == 1);
809 fssproc->fss_runnable = 0;
816 fssproc_t *fssproc;
822 fssproc = FSSPROC(t);
823 fssproj = FSSPROC2FSSPROJ(fssproc);
834 ASSERT(fssproc->fss_runnable == 0);
835 fssproc->fss_runnable = 1;
859 * Initialize the fssproc hash table.
929 fss_newpri(fssproc_t *fssproc, boolean_t quanta_up)
940 tp = fssproc->fss_tp;
948 fssproj = FSSPROC2FSSPROJ(fssproc);
959 ticks = fssproc->fss_ticks;
960 fssproc->fss_ticks = 0;
966 fssproc->fss_umdpri = fss_minglobpri;
983 fsspri = fssproc->fss_fsspri;
987 fssproc->fss_fsspri = fsspri;
1022 fssproc->fss_umdpri = 1;
1026 fssproc->fss_umdpri = fss_maxumdpri - invpri;
1249 fss_change_priority(kthread_t *t, fssproc_t *fssproc)
1254 new_pri = fssproc->fss_umdpri;
1257 t->t_cpri = fssproc->fss_upri;
1258 fssproc->fss_flags &= ~FSSRESTORE;
1268 fssproc->fss_flags |= FSSBACKQ;
1271 fssproc->fss_timeleft = fss_quantum;
1284 fssproc->fss_timeleft = fss_quantum;
1286 fssproc->fss_flags |= FSSBACKQ;
1355 fssproc_t *fssproc;
1363 for (fssproc = fss_listhead[i].fss_next; fssproc != &fss_listhead[i];
1364 fssproc = fssproc->fss_next) {
1365 t = fssproc->fss_tp;
1377 fssproj = FSSPROC2FSSPROJ(fssproc);
1385 fsspri = fssproc->fss_fsspri;
1386 fsspri = (fsspri * fss_nice_decay[fssproc->fss_nice]) /
1388 fssproc->fss_fsspri = fsspri;
1401 fssproc);
1404 fss_newpri(fssproc, B_FALSE);
1407 fss_umdpri = fssproc->fss_umdpri;
1414 fss_change_priority(t, fssproc);
1623 fssproc_t *fssproc;
1634 fssproc = (fssproc_t *)bufp;
1635 ASSERT(fssproc != NULL);
1645 * Initialize the fssproc structure.
1647 fssproc->fss_umdpri = fss_maxumdpri / 2;
1653 fssproc->fss_nice = NZERO;
1654 fssproc->fss_uprilim = fssproc->fss_upri = 0;
1681 fssproc->fss_uprilim = reqfssuprilim;
1682 fssproc->fss_upri = reqfssupri;
1683 fssproc->fss_nice = NZERO - (NZERO * reqfssupri) / fss_maxupri;
1684 if (fssproc->fss_nice > FSS_NICE_MAX)
1685 fssproc->fss_nice = FSS_NICE_MAX;
1688 fssproc->fss_timeleft = fss_quantum;
1689 fssproc->fss_tp = t;
1690 cpucaps_sc_init(&fssproc->fss_caps);
1726 fssproc->fss_proj = fssproj;
1735 t->t_cldata = (void *)fssproc;
1737 fss_change_priority(t, fssproc);
1746 * Link new structure into fssproc list.
1748 FSS_LIST_INSERT(fssproc);
1769 fssproc_t *fssproc = (fssproc_t *)procp;
1773 kthread_t *t = fssproc->fss_tp;
1794 fssproj = FSSPROC2FSSPROJ(fssproc);
1798 if (fssproc->fss_runnable) {
1831 FSS_LIST_DELETE(fssproc);
1832 fss_free(fssproc);
1855 fssproc_t *pfssproc; /* ptr to parent's fssproc structure */
1856 fssproc_t *cfssproc; /* ptr to child's fssproc structure */
1875 * Initialize child's fssproc structure.
1899 * Link new structure into fssproc hash table.
1917 fssproc_t *fssproc;
1936 fssproc = FSSPROC(t);
1937 fss_newpri(fssproc, B_FALSE);
1938 fssproc->fss_timeleft = fss_quantum;
1939 t->t_pri = fssproc->fss_umdpri;
1947 fssproc->fss_flags &= ~FSSBACKQ;
1971 fssproc_t *fssproc = FSSPROC(t);
1974 fssparmsp->fss_uprilim = fssproc->fss_uprilim;
1975 fssparmsp->fss_upri = fssproc->fss_upri;
1985 fssproc_t *fssproc = FSSPROC(t);
1991 reqfssuprilim = fssproc->fss_uprilim;
1996 reqfssupri = fssproc->fss_upri;
2019 (reqfssuprilim > fssproc->fss_uprilim) &&
2034 fssproc->fss_uprilim = reqfssuprilim;
2035 fssproc->fss_upri = reqfssupri;
2036 fssproc->fss_nice = nice;
2037 fss_newpri(fssproc, B_FALSE);
2039 fss_change_priority(t, fssproc);
2066 fssproc_t *fssproc;
2078 fssproc = FSSPROC(t);
2079 fssproj = FSSPROC2FSSPROJ(fssproc);
2094 ASSERT(fssproc->fss_runnable == 1);
2095 fssproc->fss_runnable = 0;
2102 fssproc->fss_proj = NULL; /* mark this thread as already exited */
2122 fssproc = FSSPROC(t);
2123 (void) cpucaps_charge(t, &fssproc->fss_caps,
2143 fssproc_t *fssproc = FSSPROC(t);
2161 epri = fssproc->fss_umdpri;
2264 fssproc_t *fssproc = FSSPROC(t);
2278 (void) cpucaps_charge(t, &fssproc->fss_caps,
2306 if (fssproc->fss_timeleft > -SC_MAX_TICKS) {
2312 if (!(fssproc->fss_flags & FSSRESTORE)) {
2313 fssproc->fss_scpri = t->t_pri;
2314 fssproc->fss_flags |= FSSRESTORE;
2322 if (fssproc->fss_flags & FSSRESTORE) {
2323 THREAD_CHANGE_PRI(t, fssproc->fss_scpri);
2324 fssproc->fss_flags &= ~FSSRESTORE;
2334 flags = fssproc->fss_flags & FSSBACKQ;
2337 fssproc->fss_timeleft = fss_quantum;
2338 fssproc->fss_flags &= ~FSSBACKQ;
2351 fssproc_t *fssproc = FSSPROC(t);
2358 fssproc->fss_timeleft = fss_quantum;
2360 fssproc->fss_flags &= ~FSSBACKQ;
2361 THREAD_CHANGE_PRI(t, fssproc->fss_umdpri);
2375 fssproc_t *fssproc = FSSPROC(t);
2385 (void) CPUCAPS_CHARGE(t, &fssproc->fss_caps, CPUCAPS_CHARGE_ENFORCE);
2399 fssproc_t *fssproc;
2412 fssproc = FSSPROC(t);
2413 fssproj = FSSPROC2FSSPROJ(fssproc);
2417 fssproj->fssp_ticks += fss_nice_tick[fssproc->fss_nice];
2419 fssproc->fss_ticks++;
2429 cpucaps_enforce = cpucaps_charge(t, &fssproc->fss_caps,
2433 if (--fssproc->fss_timeleft <= 0) {
2443 if (fssproc->fss_timeleft > -SC_MAX_TICKS) {
2451 fssproc->fss_flags &= ~FSSRESTORE;
2453 fss_newpri(fssproc, B_TRUE);
2454 new_pri = fssproc->fss_umdpri;
2468 fssproc->fss_timeleft = fss_quantum;
2481 if (cpucaps_enforce && 2 * fssproc->fss_timeleft > fss_quantum) {
2490 fss_newpri(fssproc, B_FALSE);
2491 if (t->t_pri != fssproc->fss_umdpri)
2492 fss_change_priority(t, fssproc);
2500 if (!(fssproc->fss_flags & FSSBACKQ))
2505 fssproc->fss_flags |= FSSBACKQ;
2522 fssproc_t *fssproc;
2530 fssproc = FSSPROC(t);
2531 fssproc->fss_flags &= ~FSSBACKQ;
2537 fssproc->fss_timeleft = fss_quantum;
2538 THREAD_CHANGE_PRI(t, fssproc->fss_umdpri);
2552 fssproc_t *fssproc = FSSPROC(t);
2560 *retvalp = fssproc->fss_nice - NZERO;
2577 newnice = fssproc->fss_nice + incr;
2599 fssproc->fss_nice = (char)newnice;
2614 fssproc_t *fssproc = FSSPROC(t);
2621 *retvalp = fssproc->fss_upri;
2625 newpri = fssproc->fss_upri + incr;
2658 fssproc_t *fssproc = FSSPROC(t);
2666 (void) CPUCAPS_CHARGE(t, &fssproc->fss_caps, CPUCAPS_CHARGE_ENFORCE);
2678 if (fssproc->fss_flags & FSSRESTORE) {
2679 THREAD_CHANGE_PRI(t, fssproc->fss_scpri);
2680 fssproc->fss_flags &= ~FSSRESTORE;
2682 if (fssproc->fss_timeleft < 0) {
2687 DTRACE_SCHED1(schedctl__yield, int, -fssproc->fss_timeleft);
2688 fssproc->fss_timeleft = fss_quantum;
2690 fssproc->fss_flags &= ~FSSBACKQ;
2703 fssproc_t *fssproc;
2715 fssproc = FSSPROC(t);
2717 fssproj_old = FSSPROC2FSSPROJ(fssproc);
2780 fssproc->fss_proj = fssproj_new;
2781 fssproc->fss_fsspri = 0;
2804 fssproc_t *fssproc;
2816 fssproc = FSSPROC(t);
2819 fssproj_old = FSSPROC2FSSPROJ(fssproc);
2866 fssproc->fss_proj = fssproj_new;
2867 fssproc->fss_fsspri = 0;