summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikhil Rao <ncrao@google.com>2010-10-13 19:09:35 (GMT)
committerIngo Molnar <mingo@elte.hu>2010-10-18 18:52:15 (GMT)
commitef8002f6848236de5adc613063ebeabddea8a6fb (patch)
tree3fd3411b2727e2ed784f6ab3fd3485c4527714c1
parent17bdcf949d03306b308c5fb694849cd35f119807 (diff)
downloadlinux-fsl-qoriq-ef8002f6848236de5adc613063ebeabddea8a6fb.tar.xz
sched: Do not consider SCHED_IDLE tasks to be cache hot
This patch adds a check in task_hot to return if the task has SCHED_IDLE policy. SCHED_IDLE tasks have very low weight, and when run with regular workloads, are typically scheduled many milliseconds apart. There is no need to consider these tasks hot for load balancing. Signed-off-by: Nikhil Rao <ncrao@google.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1287173550-30365-2-git-send-email-ncrao@google.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/sched.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 728081a..771b518 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2025,6 +2025,9 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd)
if (p->sched_class != &fair_sched_class)
return 0;
+ if (unlikely(p->policy == SCHED_IDLE))
+ return 0;
+
/*
* Buddy candidates are cache hot:
*/