From: Nikhil Rao Date: Thu, 10 Feb 2011 09:23:25 +0000 (+0100) Subject: sched: Do not consider SCHED_IDLE tasks to be cache hot X-Git-Tag: firefly_0821_release~10186^2~477 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=215856a4160cb959194e0605a9fcd6d1e71d2748;p=firefly-linux-kernel-4.4.55.git sched: Do not consider SCHED_IDLE tasks to be cache hot Commit: ef8002f6848236de5adc613063ebeabddea8a6fb upstream 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 Signed-off-by: Peter Zijlstra LKML-Reference: <1287173550-30365-2-git-send-email-ncrao@google.com> Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/sched.c b/kernel/sched.c index 87e3b2bc4dd4..0a1fb240ec37 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2014,6 +2014,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: */