Commit 91c234b4 authored by Ingo Molnar's avatar Ingo Molnar

sched: do not wakeup-preempt with SCHED_BATCH tasks

do not wakeup-preempt with SCHED_BATCH tasks, their preemption
is batched too, driven by the tick.
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent fb7dde37
...@@ -828,6 +828,12 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p) ...@@ -828,6 +828,12 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p)
resched_task(curr); resched_task(curr);
return; return;
} }
/*
* Batch tasks do not preempt (their preemption is driven by
* the tick):
*/
if (unlikely(p->policy == SCHED_BATCH))
return;
if (sched_feat(WAKEUP_PREEMPT)) { if (sched_feat(WAKEUP_PREEMPT)) {
while (!is_same_group(se, pse)) { while (!is_same_group(se, pse)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment