|
@@ -3240,27 +3240,6 @@ unsigned long long task_sched_runtime(struct task_struct *p)
|
|
|
return ns;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * We place interactive tasks back into the active array, if possible.
|
|
|
- *
|
|
|
- * To guarantee that this does not starve expired tasks we ignore the
|
|
|
- * interactivity of a task if the first expired task had to wait more
|
|
|
- * than a 'reasonable' amount of time. This deadline timeout is
|
|
|
- * load-dependent, as the frequency of array switched decreases with
|
|
|
- * increasing number of running tasks. We also ignore the interactivity
|
|
|
- * if a better static_prio task has expired:
|
|
|
- */
|
|
|
-static inline int expired_starving(struct rq *rq)
|
|
|
-{
|
|
|
- if (rq->curr->static_prio > rq->best_expired_prio)
|
|
|
- return 1;
|
|
|
- if (!STARVATION_LIMIT || !rq->expired_timestamp)
|
|
|
- return 0;
|
|
|
- if (jiffies - rq->expired_timestamp > STARVATION_LIMIT * rq->nr_running)
|
|
|
- return 1;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Account user cpu time to a process.
|
|
|
* @p: the process that the cpu time gets accounted to
|
|
@@ -3373,7 +3352,7 @@ static void task_running_tick(struct rq *rq, struct task_struct *p)
|
|
|
|
|
|
if (!rq->expired_timestamp)
|
|
|
rq->expired_timestamp = jiffies;
|
|
|
- if (!TASK_INTERACTIVE(p) || expired_starving(rq)) {
|
|
|
+ if (!TASK_INTERACTIVE(p)) {
|
|
|
enqueue_task(p, rq->expired);
|
|
|
if (p->static_prio < rq->best_expired_prio)
|
|
|
rq->best_expired_prio = p->static_prio;
|