-#if CONFIG_EMBEDDED
-static void
-thread_throttle(
- thread_t thread,
- integer_t task_priority)
-{
- if ((!(thread->sched_flags & TH_SFLAG_THROTTLED)
- || (thread->sched_flags & TH_SFLAG_PENDING_THROTTLE_PROMOTION))
- && (task_priority <= MAXPRI_THROTTLE)) {
-
- /* Kill a promotion if it was in flight */
- thread->sched_flags &= ~TH_SFLAG_PENDING_THROTTLE_PROMOTION;
-
- if (!(thread->sched_flags & TH_SFLAG_THROTTLED)) {
- /*
- * Set the pending bit so that we can switch runqueues
- * (potentially) at a later time safely
- */
- thread->sched_flags |= TH_SFLAG_PENDING_THROTTLE_DEMOTION;
- }
- }
- else if (((thread->sched_flags & TH_SFLAG_THROTTLED)
- || (thread->sched_flags & TH_SFLAG_PENDING_THROTTLE_DEMOTION))
- && (task_priority > MAXPRI_THROTTLE)) {
-
- /* Kill a demotion if it was in flight */
- thread->sched_flags &= ~TH_SFLAG_PENDING_THROTTLE_DEMOTION;
-
- if (thread->sched_flags & TH_SFLAG_THROTTLED) {
- thread->sched_flags |= TH_SFLAG_PENDING_THROTTLE_PROMOTION;
- }
- }
-}
-#endif