Lines Matching refs:ut

190 static void throttle_info_update_internal(struct _throttle_io_info_t *info, uthread_t ut, int policy, int flags, boolean_t isssd);
191 static int throttle_get_thread_throttle_level(uthread_t ut, int policy);
923 uthread_t ut, utlist;
959 TAILQ_FOREACH_SAFE(ut, &info->throttle_uthlist, uu_throttlelist, utlist) {
967 if (throttle_level == THROTTLE_LEVEL_END || throttle_get_thread_throttle_level(ut, -1) <= throttle_level) {
969 TAILQ_REMOVE(&info->throttle_uthlist, ut, uu_throttlelist);
970 ut->uu_on_throttlelist = 0;
972 wakeup(&ut->uu_on_throttlelist);
980 ut = (uthread_t)TAILQ_FIRST(&info->throttle_uthlist);
981 TAILQ_REMOVE(&info->throttle_uthlist, ut, uu_throttlelist);
982 ut->uu_on_throttlelist = 0;
984 wakeup(&ut->uu_on_throttlelist);
1030 unthrottle_thread(uthread_t ut)
1034 if ((info = ut->uu_throttle_info) == NULL)
1039 if (ut->uu_on_throttlelist && throttle_get_thread_throttle_level(ut, -1) <= THROTTLE_LEVEL_THROTTLED) {
1040 TAILQ_REMOVE(&info->throttle_uthlist, ut, uu_throttlelist);
1041 ut->uu_on_throttlelist = 0;
1043 wakeup(&ut->uu_on_throttlelist);
1201 throttle_get_io_policy(uthread_t *ut)
1203 *ut = get_bsdthread_info(current_thread());
1211 throttle_get_thread_throttle_level(uthread_t ut, int policy)
1215 if (ut == NULL)
1216 ut = get_bsdthread_info(current_thread());
1219 policy = proc_get_diskacc(ut->uu_thread);
1227 if (ut->uu_throttle_bc == TRUE)
1314 uthread_t ut;
1322 ut = get_bsdthread_info(current_thread());
1324 if (ut->uu_lowpri_window == 0)
1327 info = ut->uu_throttle_info;
1332 if (sleep_amount == 1 && ut->uu_throttle_bc == FALSE)
1362 ut->uu_lowpri_window, info->throttle_io_period, info->throttle_io_count, 0, 0);
1364 if (ut->uu_on_throttlelist == 0) {
1366 TAILQ_INSERT_TAIL(&info->throttle_uthlist, ut, uu_throttlelist);
1368 TAILQ_INSERT_HEAD(&info->throttle_uthlist, ut, uu_throttlelist);
1370 ut->uu_on_throttlelist = 1;
1372 msleep((caddr_t)&ut->uu_on_throttlelist, &info->throttle_lock, PRIBIO + 1, "throttle_lowpri_io", NULL);
1385 if (ut->uu_on_throttlelist) {
1390 if (ut->uu_on_throttlelist) {
1391 TAILQ_REMOVE(&info->throttle_uthlist, ut, uu_throttlelist);
1393 ut->uu_on_throttlelist = 0;
1401 ut->uu_lowpri_window, info->throttle_io_period, info->throttle_io_count, 0, 0);
1405 ut->uu_throttle_info = NULL;
1406 ut->uu_throttle_bc = FALSE;
1407 ut->uu_lowpri_window = 0;
1427 void throttle_info_reset_window(uthread_t ut)
1431 if ( (info = ut->uu_throttle_info) ) {
1434 ut->uu_throttle_info = NULL;
1435 ut->uu_lowpri_window = 0;
1436 ut->uu_throttle_bc = FALSE;
1441 void throttle_info_set_initial_window(uthread_t ut, struct _throttle_io_info_t *info, boolean_t BC_throttle)
1443 if (ut->uu_throttle_info == NULL) {
1445 ut->uu_throttle_info = info;
1449 ut->uu_lowpri_window = THROTTLE_WINDOW;
1450 ut->uu_throttle_bc = BC_throttle;
1456 void throttle_info_update_internal(struct _throttle_io_info_t *info, uthread_t ut, int policy, int flags, boolean_t isssd)
1463 if (ut == NULL)
1464 ut = get_bsdthread_info(current_thread());
1466 thread_throttle_level = throttle_get_thread_throttle_level(ut, policy);
1497 throttle_info_set_initial_window(ut, info, FALSE);
1504 uthread_t ut;
1507 ut = get_bsdthread_info(current_thread());
1509 if (ut->uu_lowpri_window)
1529 throttle_info_set_initial_window(ut, info, FALSE);
1627 uthread_t ut;
1640 policy = throttle_get_io_policy(&ut);
1694 throttle_info_update_internal(throttle_info, ut, policy, bflags, isssd);
1736 throttle_info_reset_window(ut);
1743 throttle_info_set_initial_window(ut, throttle_info, TRUE);