Lines Matching refs:tspp

123 #define	TS_NEWUMDPRI(tspp) \  argument
126 pri = (tspp)->ts_cpupri + (tspp)->ts_upri + (tspp)->ts_boost; \
128 (tspp)->ts_umdpri = ts_maxumdpri; \
130 (tspp)->ts_umdpri = 0; \
132 (tspp)->ts_umdpri = pri; \
133 ASSERT((tspp)->ts_umdpri >= 0 && (tspp)->ts_umdpri <= ts_maxumdpri); \
156 #define TS_LIST_INSERT(tspp) \ argument
158 int index = TS_LIST_HASH(tspp->ts_tp); \
162 tspp->ts_next = headp->ts_next; \
163 tspp->ts_prev = headp; \
164 headp->ts_next->ts_prev = tspp; \
165 headp->ts_next = tspp; \
172 #define TS_LIST_DELETE(tspp) \ argument
174 int index = TS_LIST_HASH(tspp->ts_tp); \
177 tspp->ts_prev->ts_next = tspp->ts_next; \
178 tspp->ts_next->ts_prev = tspp->ts_prev; \
546 tsproc_t *tspp; in ts_enterclass() local
552 tspp = (tsproc_t *)bufp; in ts_enterclass()
553 ASSERT(tspp != NULL); in ts_enterclass()
558 tspp->ts_cpupri = tsmedumdpri; in ts_enterclass()
573 tspp->ts_flags = TSIA | TSIASET; in ts_enterclass()
574 tspp->ts_boost = ia_boost; in ts_enterclass()
576 tspp->ts_flags = 0; in ts_enterclass()
577 tspp->ts_boost = 0; in ts_enterclass()
584 tspp->ts_uprilim = tspp->ts_upri = 0; in ts_enterclass()
585 tspp->ts_nice = NZERO; in ts_enterclass()
615 tspp->ts_uprilim = reqtsuprilim; in ts_enterclass()
616 tspp->ts_upri = reqtsupri; in ts_enterclass()
617 tspp->ts_nice = NZERO - (NZERO * reqtsupri) / ts_maxupri; in ts_enterclass()
619 TS_NEWUMDPRI(tspp); in ts_enterclass()
621 tspp->ts_dispwait = 0; in ts_enterclass()
622 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_enterclass()
623 tspp->ts_tp = t; in ts_enterclass()
624 cpucaps_sc_init(&tspp->ts_caps); in ts_enterclass()
634 t->t_cldata = (void *)tspp; in ts_enterclass()
636 ts_change_priority(t, tspp); in ts_enterclass()
642 TS_LIST_INSERT(tspp); in ts_enterclass()
664 tsproc_t *tspp = (tsproc_t *)procp; in ts_exitclass() local
667 TS_LIST_DELETE(tspp); in ts_exitclass()
668 kmem_free(tspp, sizeof (tsproc_t)); in ts_exitclass()
730 tsproc_t *tspp; in ts_forkret() local
748 tspp = (tsproc_t *)(t->t_cldata); in ts_forkret()
749 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_forkret()
750 TS_NEWUMDPRI(tspp); in ts_forkret()
751 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_forkret()
752 tspp->ts_dispwait = 0; in ts_forkret()
753 t->t_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_forkret()
826 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ts_parmsget() local
829 tsparmsp->ts_uprilim = tspp->ts_uprilim; in ts_parmsget()
830 tsparmsp->ts_upri = tspp->ts_upri; in ts_parmsget()
836 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ia_parmsget() local
839 iaparmsp->ia_uprilim = tspp->ts_uprilim; in ia_parmsget()
840 iaparmsp->ia_upri = tspp->ts_upri; in ia_parmsget()
841 if (tspp->ts_flags & TSIASET) in ia_parmsget()
1162 tsproc_t *tspp = (tsproc_t *)tx->t_cldata; in ts_parmsset() local
1167 reqtsuprilim = tspp->ts_uprilim; in ts_parmsset()
1172 reqtsupri = tspp->ts_upri; in ts_parmsset()
1197 reqtsuprilim > tspp->ts_uprilim && in ts_parmsset()
1212 tspp->ts_uprilim = reqtsuprilim; in ts_parmsset()
1213 tspp->ts_upri = reqtsupri; in ts_parmsset()
1214 TS_NEWUMDPRI(tspp); in ts_parmsset()
1215 tspp->ts_nice = nice; in ts_parmsset()
1217 tspp->ts_dispwait = 0; in ts_parmsset()
1218 ts_change_priority(tx, tspp); in ts_parmsset()
1227 tsproc_t *tspp = (tsproc_t *)tx->t_cldata; in ia_parmsset() local
1274 tspp->ts_flags |= TSIASET; in ia_parmsset()
1305 tspp->ts_flags |= TSIASET; in ia_parmsset()
1306 tspp->ts_boost = ia_boost; in ia_parmsset()
1308 tspp->ts_flags &= ~TSIASET; in ia_parmsset()
1309 tspp->ts_boost = -ia_boost; in ia_parmsset()
1319 tsproc_t *tspp; in ts_exit() local
1332 tspp = (tsproc_t *)t->t_cldata; in ts_exit()
1333 (void) cpucaps_charge(t, &tspp->ts_caps, CPUCAPS_CHARGE_ONLY); in ts_exit()
1345 tsproc_t *tspp; in ts_globpri() local
1349 tspp = (tsproc_t *)t->t_cldata; in ts_globpri()
1350 tspri = tsmedumdpri + tspp->ts_upri; in ts_globpri()
1367 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_preempt() local
1379 (void) cpucaps_charge(t, &tspp->ts_caps, in ts_preempt()
1405 if (tspp->ts_timeleft > -SC_MAX_TICKS) { in ts_preempt()
1411 if (!(tspp->ts_flags & TSRESTORE)) { in ts_preempt()
1412 tspp->ts_scpri = t->t_pri; in ts_preempt()
1413 tspp->ts_flags |= TSRESTORE; in ts_preempt()
1421 if (tspp->ts_flags & TSRESTORE) { in ts_preempt()
1422 THREAD_CHANGE_PRI(t, tspp->ts_scpri); in ts_preempt()
1423 tspp->ts_flags &= ~TSRESTORE; in ts_preempt()
1433 if ((tspp->ts_flags & TSBACKQ) != 0) { in ts_preempt()
1434 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_preempt()
1435 tspp->ts_dispwait = 0; in ts_preempt()
1436 tspp->ts_flags &= ~TSBACKQ; in ts_preempt()
1450 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_setrun() local
1454 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_setrun()
1455 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_setrun()
1456 TS_NEWUMDPRI(tspp); in ts_setrun()
1457 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_setrun()
1458 tspp->ts_dispwait = 0; in ts_setrun()
1459 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_setrun()
1463 tspp->ts_flags &= ~TSBACKQ; in ts_setrun()
1465 if (tspp->ts_flags & TSIA) { in ts_setrun()
1466 if (tspp->ts_flags & TSIASET) in ts_setrun()
1485 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_sleep() local
1494 (void) CPUCAPS_CHARGE(t, &tspp->ts_caps, CPUCAPS_CHARGE_ENFORCE); in ts_sleep()
1496 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_sleep()
1497 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_sleep()
1498 TS_NEWUMDPRI(tspp); in ts_sleep()
1499 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_sleep()
1500 tspp->ts_dispwait = 0; in ts_sleep()
1503 ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_sleep()
1528 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_swapin() local
1542 if (INHERITED(t) || (tspp->ts_flags & TSIASET)) { in ts_swapin()
1550 epri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_swapin()
1589 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_swapout() local
1596 if (INHERITED(t) || (tspp->ts_flags & TSIASET) || in ts_swapout()
1621 pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_swapout()
1650 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_tick() local
1664 call_cpu_surrender = cpucaps_charge(t, &tspp->ts_caps, in ts_tick()
1668 if (--tspp->ts_timeleft <= 0) { in ts_tick()
1678 if (tspp->ts_timeleft > -SC_MAX_TICKS) { in ts_tick()
1689 tspp->ts_flags &= ~TSRESTORE; in ts_tick()
1690 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_tick()
1691 TS_NEWUMDPRI(tspp); in ts_tick()
1692 tspp->ts_dispwait = 0; in ts_tick()
1693 new_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_tick()
1706 tspp->ts_timeleft = in ts_tick()
1707 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_tick()
1719 tspp->ts_flags |= TSBACKQ; in ts_tick()
1734 tsproc_t *tspp = (tsproc_t *)t->t_cldata; in ts_trapret() local
1743 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_trapret()
1744 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_trapret()
1745 TS_NEWUMDPRI(tspp); in ts_trapret()
1746 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_trapret()
1747 tspp->ts_dispwait = 0; in ts_trapret()
1753 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_trapret()
1765 if ((t->t_schedflag & TS_SWAPENQ) && !(tspp->ts_flags & TSIASET)) { in ts_trapret()
1838 tsproc_t *tspp; in ts_update_list() local
1843 for (tspp = ts_plisthead[i].ts_next; tspp != &ts_plisthead[i]; in ts_update_list()
1844 tspp = tspp->ts_next) { in ts_update_list()
1845 tx = tspp->ts_tp; in ts_update_list()
1856 tspp->ts_dispwait++; in ts_update_list()
1857 if (tspp->ts_dispwait <= ts_dptbl[tspp->ts_umdpri].ts_maxwait) in ts_update_list()
1868 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_lwait; in ts_update_list()
1869 TS_NEWUMDPRI(tspp); in ts_update_list()
1870 tspp->ts_dispwait = 0; in ts_update_list()
1877 if (tx->t_pri != ts_dptbl[tspp->ts_umdpri].ts_globpri) { in ts_update_list()
1879 ts_change_priority(tx, tspp); in ts_update_list()
1897 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_wakeup() local
1903 if (tspp->ts_dispwait > ts_dptbl[tspp->ts_umdpri].ts_maxwait) { in ts_wakeup()
1904 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_slpret; in ts_wakeup()
1905 TS_NEWUMDPRI(tspp); in ts_wakeup()
1906 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_wakeup()
1907 tspp->ts_dispwait = 0; in ts_wakeup()
1908 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_wakeup()
1912 tspp->ts_flags &= ~TSBACKQ; in ts_wakeup()
1914 if (tspp->ts_flags & TSIA) { in ts_wakeup()
1915 if (tspp->ts_flags & TSIASET) in ts_wakeup()
1934 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_yield() local
1942 (void) CPUCAPS_CHARGE(t, &tspp->ts_caps, CPUCAPS_CHARGE_ENFORCE); in ts_yield()
1954 if (tspp->ts_flags & TSRESTORE) { in ts_yield()
1955 THREAD_CHANGE_PRI(t, tspp->ts_scpri); in ts_yield()
1956 tspp->ts_flags &= ~TSRESTORE; in ts_yield()
1958 if (tspp->ts_timeleft <= 0) { in ts_yield()
1963 DTRACE_SCHED1(schedctl__yield, int, -tspp->ts_timeleft); in ts_yield()
1964 tspp->ts_cpupri = ts_dptbl[tspp->ts_cpupri].ts_tqexp; in ts_yield()
1965 TS_NEWUMDPRI(tspp); in ts_yield()
1966 tspp->ts_timeleft = ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_yield()
1967 tspp->ts_dispwait = 0; in ts_yield()
1968 THREAD_CHANGE_PRI(t, ts_dptbl[tspp->ts_umdpri].ts_globpri); in ts_yield()
1971 tspp->ts_flags &= ~TSBACKQ; in ts_yield()
1984 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_donice() local
1992 *retvalp = tspp->ts_nice - NZERO; in ts_donice()
2011 newnice = tspp->ts_nice + incr; in ts_donice()
2034 tspp->ts_nice = (char)newnice; in ts_donice()
2049 tsproc_t *tspp = (tsproc_t *)(t->t_cldata); in ts_doprio() local
2056 *retvalp = tspp->ts_upri; in ts_doprio()
2060 newpri = tspp->ts_upri + incr; in ts_doprio()
2090 tsproc_t *tspp; in ia_set_process_group() local
2118 tspp = tx->t_cldata; in ia_set_process_group()
2126 if (!(tspp->ts_flags & TSIASET) || in ia_set_process_group()
2187 tspp = tx->t_cldata; in ia_set_process_group()
2188 tspp->ts_flags |= TSIASET; in ia_set_process_group()
2189 tspp->ts_boost = ia_boost; in ia_set_process_group()
2190 TS_NEWUMDPRI(tspp); in ia_set_process_group()
2191 tspp->ts_dispwait = 0; in ia_set_process_group()
2192 ts_change_priority(tx, tspp); in ia_set_process_group()
2236 tspp = tx->t_cldata; in ia_set_process_group()
2237 tspp->ts_flags &= ~TSIASET; in ia_set_process_group()
2238 tspp->ts_boost = -ia_boost; in ia_set_process_group()
2239 TS_NEWUMDPRI(tspp); in ia_set_process_group()
2241 tspp->ts_dispwait = 0; in ia_set_process_group()
2242 ts_change_priority(tx, tspp); in ia_set_process_group()
2251 ts_change_priority(kthread_t *t, tsproc_t *tspp) in ts_change_priority() argument
2256 new_pri = ts_dptbl[tspp->ts_umdpri].ts_globpri; in ts_change_priority()
2258 tspp->ts_flags &= ~TSRESTORE; in ts_change_priority()
2259 t->t_cpri = tspp->ts_upri; in ts_change_priority()
2267 tspp->ts_flags |= TSBACKQ; in ts_change_priority()
2270 tspp->ts_timeleft = in ts_change_priority()
2271 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_change_priority()
2276 frontq = (tspp->ts_flags & TSIASET) != 0; in ts_change_priority()
2290 tspp->ts_timeleft = in ts_change_priority()
2291 ts_dptbl[tspp->ts_cpupri].ts_quantum; in ts_change_priority()
2293 tspp->ts_flags |= TSBACKQ; in ts_change_priority()