Lines Matching refs:tspp

124 #define	TS_NEWUMDPRI(tspp) \  argument
127 pri = (tspp)->ts_cpupri + (tspp)->ts_upri + (tspp)->ts_boost; \
129 (tspp)->ts_umdpri = ts_maxumdpri; \
131 (tspp)->ts_umdpri = 0; \
133 (tspp)->ts_umdpri = pri; \
134 ASSERT((tspp)->ts_umdpri >= 0 && (tspp)->ts_umdpri <= ts_maxumdpri); \
157 #define TS_LIST_INSERT(tspp) \ argument
159 int index = TS_LIST_HASH(tspp->ts_tp); \
163 tspp->ts_next = headp->ts_next; \
164 tspp->ts_prev = headp; \
165 headp->ts_next->ts_prev = tspp; \
166 headp->ts_next = tspp; \
173 #define TS_LIST_DELETE(tspp) \ argument
175 int index = TS_LIST_HASH(tspp->ts_tp); \
178 tspp->ts_prev->ts_next = tspp->ts_next; \
179 tspp->ts_next->ts_prev = tspp->ts_prev; \
547 tsproc_t *tspp; in ts_enterclass() local
553 tspp = (tsproc_t *)bufp; in ts_enterclass()
554 ASSERT(tspp != NULL); in ts_enterclass()
559 tspp->ts_cpupri = tsmedumdpri; in ts_enterclass()
574 tspp->ts_flags = TSIA | TSIASET; in ts_enterclass()
575 tspp->ts_boost = ia_boost; in ts_enterclass()
577 tspp->ts_flags = 0; in ts_enterclass()
578 tspp->ts_boost = 0; in ts_enterclass()
585 tspp->ts_uprilim = tspp->ts_upri = 0; in ts_enterclass()
586 tspp->ts_nice = NZERO; in ts_enterclass()
616 tspp->ts_uprilim = reqtsuprilim; in ts_enterclass()
617 tspp->ts_upri = reqtsupri; in ts_enterclass()
618 tspp->ts_nice = NZERO - (NZERO * reqtsupri) / ts_maxupri; in ts_enterclass()
620 TS_NEWUMDPRI(tspp); in ts_enterclass()
622 tspp->ts_dispwait = 0; in ts_enterclass()
623 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_enterclass()
624 tspp->ts_tp = t; in ts_enterclass()
625 cpucaps_sc_init(&tspp->ts_caps); in ts_enterclass()
635 t->t_cldata = (void *)tspp; in ts_enterclass()
637 ts_change_priority(t, tspp); in ts_enterclass()
643 TS_LIST_INSERT(tspp); in ts_enterclass()
665 tsproc_t *tspp = (tsproc_t *)procp; in ts_exitclass() local
668 TS_LIST_DELETE(tspp); in ts_exitclass()
669 kmem_free(tspp, sizeof (tsproc_t)); in ts_exitclass()
731 tsproc_t *tspp; in ts_forkret() local
749 tspp = (tsproc_t *)(t->t_cldata); in ts_forkret()
750 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_forkret()
751 TS_NEWUMDPRI(tspp); in ts_forkret()
752 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_forkret()
753 tspp->ts_dispwait = 0; in ts_forkret()
754 t->t_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_forkret()
827 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ts_parmsget() local
830 tsparmsp->ts_uprilim = tspp->ts_uprilim; in ts_parmsget()
831 tsparmsp->ts_upri = tspp->ts_upri; in ts_parmsget()
837 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ia_parmsget() local
840 iaparmsp->ia_uprilim = tspp->ts_uprilim; in ia_parmsget()
841 iaparmsp->ia_upri = tspp->ts_upri; in ia_parmsget()
842 if (tspp->ts_flags & TSIASET) in ia_parmsget()
1163 tsproc_t *tspp = (tsproc_t *)tx->t_cldata; in ts_parmsset() local
1168 reqtsuprilim = tspp->ts_uprilim; in ts_parmsset()
1173 reqtsupri = tspp->ts_upri; in ts_parmsset()
1198 reqtsuprilim > tspp->ts_uprilim && in ts_parmsset()
1213 tspp->ts_uprilim = reqtsuprilim; in ts_parmsset()
1214 tspp->ts_upri = reqtsupri; in ts_parmsset()
1215 TS_NEWUMDPRI(tspp); in ts_parmsset()
1216 tspp->ts_nice = nice; in ts_parmsset()
1218 tspp->ts_dispwait = 0; in ts_parmsset()
1219 ts_change_priority(tx, tspp); in ts_parmsset()
1228 tsproc_t *tspp = (tsproc_t *)tx->t_cldata; in ia_parmsset() local
1275 tspp->ts_flags |= TSIASET; in ia_parmsset()
1306 tspp->ts_flags |= TSIASET; in ia_parmsset()
1307 tspp->ts_boost = ia_boost; in ia_parmsset()
1309 tspp->ts_flags &= ~TSIASET; in ia_parmsset()
1310 tspp->ts_boost = -ia_boost; in ia_parmsset()
1320 tsproc_t *tspp; in ts_exit() local
1333 tspp = (tsproc_t *)t->t_cldata; in ts_exit()
1334 (void) cpucaps_charge(t, &tspp->ts_caps, CPUCAPS_CHARGE_ONLY); in ts_exit()
1346 tsproc_t *tspp; in ts_globpri() local
1350 tspp = (tsproc_t *)t->t_cldata; in ts_globpri()
1351 tspri = tsmedumdpri + tspp->ts_upri; in ts_globpri()
1368 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_preempt() local
1380 (void) cpucaps_charge(t, &tspp->ts_caps, in ts_preempt()
1406 if (tspp->ts_timeleft > -SC_MAX_TICKS) { in ts_preempt()
1412 if (!(tspp->ts_flags & TSRESTORE)) { in ts_preempt()
1413 tspp->ts_scpri = t->t_pri; in ts_preempt()
1414 tspp->ts_flags |= TSRESTORE; in ts_preempt()
1422 if (tspp->ts_flags & TSRESTORE) { in ts_preempt()
1423 THREAD_CHANGE_PRI(t, tspp->ts_scpri); in ts_preempt()
1424 tspp->ts_flags &= ~TSRESTORE; in ts_preempt()
1437 if ((tspp->ts_flags & TSBACKQ) != 0) { in ts_preempt()
1438 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_preempt()
1439 tspp->ts_dispwait = 0; in ts_preempt()
1440 tspp->ts_flags &= ~TSBACKQ; in ts_preempt()
1454 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_setrun() local
1458 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_setrun()
1459 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_setrun()
1460 TS_NEWUMDPRI(tspp); in ts_setrun()
1461 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_setrun()
1462 tspp->ts_dispwait = 0; in ts_setrun()
1463 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_setrun()
1467 tspp->ts_flags &= ~TSBACKQ; in ts_setrun()
1469 if (tspp->ts_flags & TSIA) { in ts_setrun()
1470 if (tspp->ts_flags & TSIASET) in ts_setrun()
1489 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_sleep() local
1498 (void) CPUCAPS_CHARGE(t, &tspp->ts_caps, CPUCAPS_CHARGE_ENFORCE); in ts_sleep()
1500 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_sleep()
1501 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_sleep()
1502 TS_NEWUMDPRI(tspp); in ts_sleep()
1503 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_sleep()
1504 tspp->ts_dispwait = 0; in ts_sleep()
1507 ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_sleep()
1532 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_swapin() local
1546 if (INHERITED(t) || (tspp->ts_flags & TSIASET)) { in ts_swapin()
1554 epri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_swapin()
1593 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_swapout() local
1600 if (INHERITED(t) || (tspp->ts_flags & TSIASET) || in ts_swapout()
1625 pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_swapout()
1654 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_tick() local
1668 call_cpu_surrender = cpucaps_charge(t, &tspp->ts_caps, in ts_tick()
1672 if (--tspp->ts_timeleft <= 0) { in ts_tick()
1682 if (tspp->ts_timeleft > -SC_MAX_TICKS) { in ts_tick()
1695 tspp->ts_flags &= ~TSRESTORE; in ts_tick()
1696 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_tick()
1697 TS_NEWUMDPRI(tspp); in ts_tick()
1698 tspp->ts_dispwait = 0; in ts_tick()
1699 new_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_tick()
1712 tspp->ts_timeleft = in ts_tick()
1713 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_tick()
1725 tspp->ts_flags |= TSBACKQ; in ts_tick()
1740 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ts_trapret() local
1749 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_trapret()
1750 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_trapret()
1751 TS_NEWUMDPRI(tspp); in ts_trapret()
1752 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_trapret()
1753 tspp->ts_dispwait = 0; in ts_trapret()
1759 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_trapret()
1771 if ((t->t_schedflag & TS_SWAPENQ) && !(tspp->ts_flags & TSIASET)) { in ts_trapret()
1844 tsproc_t *tspp; in ts_update_list() local
1849 for (tspp = ts_plisthead[i].ts_next; tspp != &ts_plisthead[i]; in ts_update_list()
1850 tspp = tspp->ts_next) { in ts_update_list()
1851 tx = tspp->ts_tp; in ts_update_list()
1862 tspp->ts_dispwait++; in ts_update_list()
1863 if (tspp->ts_dispwait <= ts_dptbl[tspp->ts_umdpri].ts_maxwait) in ts_update_list()
1874 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_lwait; in ts_update_list()
1875 TS_NEWUMDPRI(tspp); in ts_update_list()
1876 tspp->ts_dispwait = 0; in ts_update_list()
1883 if (tx->t_pri != ts_dptbl[tspp->ts_umdpri].ts_globpri) { in ts_update_list()
1885 ts_change_priority(tx, tspp); in ts_update_list()
1903 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_wakeup() local
1909 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_wakeup()
1910 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_wakeup()
1911 TS_NEWUMDPRI(tspp); in ts_wakeup()
1912 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_wakeup()
1913 tspp->ts_dispwait = 0; in ts_wakeup()
1914 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_wakeup()
1918 tspp->ts_flags &= ~TSBACKQ; in ts_wakeup()
1920 if (tspp->ts_flags & TSIA) { in ts_wakeup()
1921 if (tspp->ts_flags & TSIASET) in ts_wakeup()
1940 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_yield() local
1948 (void) CPUCAPS_CHARGE(t, &tspp->ts_caps, CPUCAPS_CHARGE_ENFORCE); in ts_yield()
1960 if (tspp->ts_flags & TSRESTORE) { in ts_yield()
1961 THREAD_CHANGE_PRI(t, tspp->ts_scpri); in ts_yield()
1962 tspp->ts_flags &= ~TSRESTORE; in ts_yield()
1964 if (tspp->ts_timeleft <= 0) { in ts_yield()
1969 DTRACE_SCHED1(schedctl__yield, int, -tspp->ts_timeleft); in ts_yield()
1970 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_yield()
1971 TS_NEWUMDPRI(tspp); in ts_yield()
1972 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_yield()
1973 tspp->ts_dispwait = 0; in ts_yield()
1974 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_yield()
1977 tspp->ts_flags &= ~TSBACKQ; in ts_yield()
1990 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_donice() local
1998 *retvalp = tspp->ts_nice - NZERO; in ts_donice()
2017 newnice = tspp->ts_nice + incr; in ts_donice()
2040 tspp->ts_nice = (char)newnice; in ts_donice()
2055 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_doprio() local
2062 *retvalp = tspp->ts_upri; in ts_doprio()
2066 newpri = tspp->ts_upri + incr; in ts_doprio()
2096 tsproc_t *tspp; in ia_set_process_group() local
2124 tspp = tx->t_cldata; in ia_set_process_group()
2132 if (!(tspp->ts_flags & TSIASET) || in ia_set_process_group()
2193 tspp = tx->t_cldata; in ia_set_process_group()
2194 tspp->ts_flags |= TSIASET; in ia_set_process_group()
2195 tspp->ts_boost = ia_boost; in ia_set_process_group()
2196 TS_NEWUMDPRI(tspp); in ia_set_process_group()
2197 tspp->ts_dispwait = 0; in ia_set_process_group()
2198 ts_change_priority(tx, tspp); in ia_set_process_group()
2242 tspp = tx->t_cldata; in ia_set_process_group()
2243 tspp->ts_flags &= ~TSIASET; in ia_set_process_group()
2244 tspp->ts_boost = -ia_boost; in ia_set_process_group()
2245 TS_NEWUMDPRI(tspp); in ia_set_process_group()
2247 tspp->ts_dispwait = 0; in ia_set_process_group()
2248 ts_change_priority(tx, tspp); in ia_set_process_group()
2257 ts_change_priority(kthread_t *t, tsproc_t *tspp) in ts_change_priority() argument
2262 new_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_change_priority()
2264 tspp->ts_flags &= ~TSRESTORE; in ts_change_priority()
2265 t->t_cpri = tspp->ts_upri; in ts_change_priority()
2273 tspp->ts_flags |= TSBACKQ; in ts_change_priority()
2276 tspp->ts_timeleft = in ts_change_priority()
2277 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_change_priority()
2282 frontq = (tspp->ts_flags & TSIASET) != 0; in ts_change_priority()
2296 tspp->ts_timeleft = in ts_change_priority()
2297 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_change_priority()
2299 tspp->ts_flags |= TSBACKQ; in ts_change_priority()