All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up
@ 2012-07-26  5:27 Alex Shi
  2012-07-26  5:27 ` [PATCH 2/2] sched: fix a logical error in select_task_rq_fair Alex Shi
  2012-07-26  9:37 ` [PATCH 1/2] sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up Mike Galbraith
  0 siblings, 2 replies; 13+ messages in thread
From: Alex Shi @ 2012-07-26  5:27 UTC (permalink / raw)
  To: mingo, peterz; +Cc: linux-kernel, suresh.b.siddha, alex.shi

Since power saving code was removed from sched now, the implement
code is out of service in this function, and even pollute other logical.
like, 'want_sd' never has chance to be set '0', that remove the effect
of SD_WAKE_AFFINE here.

So, clean up the obsolete code and some other unnecessary code.

Signed-off-by: Alex Shi <alex.shi@intel.com>
---
 kernel/sched/fair.c |   32 +++-----------------------------
 1 files changed, 3 insertions(+), 29 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 22321db..8a1db69 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2686,7 +2686,6 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
 	int prev_cpu = task_cpu(p);
 	int new_cpu = cpu;
 	int want_affine = 0;
-	int want_sd = 1;
 	int sync = wake_flags & WF_SYNC;
 
 	if (p->nr_cpus_allowed == 1)
@@ -2704,48 +2703,23 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
 			continue;
 
 		/*
-		 * If power savings logic is enabled for a domain, see if we
-		 * are not overloaded, if so, don't balance wider.
-		 */
-		if (tmp->flags & (SD_PREFER_LOCAL)) {
-			unsigned long power = 0;
-			unsigned long nr_running = 0;
-			unsigned long capacity;
-			int i;
-
-			for_each_cpu(i, sched_domain_span(tmp)) {
-				power += power_of(i);
-				nr_running += cpu_rq(i)->cfs.nr_running;
-			}
-
-			capacity = DIV_ROUND_CLOSEST(power, SCHED_POWER_SCALE);
-
-			if (nr_running < capacity)
-				want_sd = 0;
-		}
-
-		/*
 		 * If both cpu and prev_cpu are part of this domain,
 		 * cpu is a valid SD_WAKE_AFFINE target.
 		 */
 		if (want_affine && (tmp->flags & SD_WAKE_AFFINE) &&
 		    cpumask_test_cpu(prev_cpu, sched_domain_span(tmp))) {
 			affine_sd = tmp;
-			want_affine = 0;
-		}
-
-		if (!want_sd && !want_affine)
 			break;
+		}
 
 		if (!(tmp->flags & sd_flag))
 			continue;
 
-		if (want_sd)
-			sd = tmp;
+		sd = tmp;
 	}
 
 	if (affine_sd) {
-		if (cpu == prev_cpu || wake_affine(affine_sd, p, sync))
+		if (wake_affine(affine_sd, p, sync))
 			prev_cpu = cpu;
 
 		new_cpu = select_idle_sibling(p, prev_cpu);
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-08-13 17:14 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26  5:27 [PATCH 1/2] sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up Alex Shi
2012-07-26  5:27 ` [PATCH 2/2] sched: fix a logical error in select_task_rq_fair Alex Shi
2012-07-26  8:17   ` Peter Zijlstra
2012-07-26  9:11     ` Alex Shi
2012-07-27  1:50       ` Alex Shi
2012-07-26  9:37 ` [PATCH 1/2] sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up Mike Galbraith
2012-07-26  9:42   ` Alex Shi
2012-07-27  1:47   ` Alex Shi
2012-07-27  3:22     ` Mike Galbraith
2012-07-27  8:32     ` Peter Zijlstra
2012-07-27 14:42       ` Alex Shi
2012-08-13 12:33       ` Alex Shi
2012-08-13 17:14         ` [tip:sched/core] " tip-bot for Alex Shi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.