[PATCH 3/3] sched: do not consider SCHED_IDLE tasks to be cache hot

From: Nikhil Rao
Date: Mon Sep 27 2010 - 20:30:26 EST


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
weight tasks, are typically scheduled many milliseconds apart. There is no
benefit from considering SCHED_IDLE tasks cache hot for load balancing.

Signed-off-by: Nikhil Rao <ncrao@xxxxxxxxxx>
---
kernel/sched.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index ed09d4f..874efde 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2003,6 +2003,9 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd)
if (p->sched_class != &fair_sched_class)
return 0;

+ if (p->policy == SCHED_IDLE)
+ return 0;
+
/*
* Buddy candidates are cache hot:
*/
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/