Re: volanoMark regression with kernel 2.6.26-rc1

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Peter Zijlstra <a.p.zijlstra@...>
Cc: Mike Galbraith <efault@...>, Zhang, Yanmin <yanmin_zhang@...>, Dhaval Giani <dhaval@...>, LKML <linux-kernel@...>, Ingo Molnar <mingo@...>, Aneesh Kumar KV <aneesh.kumar@...>
Date: Wednesday, May 14, 2008 - 9:44 am

On Mon, May 12, 2008 at 11:20:47AM +0200, Peter Zijlstra wrote:

fwiw, the following hack seems to help bring down regression to ~5%
(b/n 2.6.25 and 2.6.26-rc1 with USER_SCHED):

Also in the patch GROUP_SCALE can probably be less than what I used (and
needs a ifdef GROUP_SCHED) ..

Not-signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>


---
 kernel/sched.c          |    4 ++++
 kernel/sched_fair.c     |   14 +++++---------
 kernel/sched_features.h |    2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)

Index: current/kernel/sched.c
===================================================================
--- current.orig/kernel/sched.c
+++ current/kernel/sched.c
@@ -1551,13 +1551,17 @@ static void cpuacct_charge(struct task_s
 static inline void cpuacct_charge(struct task_struct *tsk, u64 cputime) {}
 #endif
 
+#define GROUP_SCALE	(2*1024)
+
 static inline void inc_cpu_load(struct rq *rq, unsigned long load)
 {
+	load *= GROUP_SCALE;
 	update_load_add(&rq->load, load);
 }
 
 static inline void dec_cpu_load(struct rq *rq, unsigned long load)
 {
+	load *= GROUP_SCALE;
 	update_load_sub(&rq->load, load);
 }
 
Index: current/kernel/sched_fair.c
===================================================================
--- current.orig/kernel/sched_fair.c
+++ current/kernel/sched_fair.c
@@ -1393,24 +1393,20 @@ load_balance_fair(struct rq *this_rq, in
 		unsigned long this_weight, busiest_weight;
 		long rem_load, max_load, moved_load;
 
+		busiest_weight = tg->cfs_rq[busiest_cpu]->task_weight;
 		/*
 		 * empty group
 		 */
-		if (!aggregate(tg, sd)->task_weight)
+		if (!aggregate(tg, sd)->task_weight || !busiest_weight)
 			continue;
 
 		rem_load = rem_load_move * aggregate(tg, sd)->rq_weight;
 		rem_load /= aggregate(tg, sd)->load + 1;
 
-		this_weight = tg->cfs_rq[this_cpu]->task_weight;
-		busiest_weight = tg->cfs_rq[busiest_cpu]->task_weight;
-
-		imbalance = (busiest_weight - this_weight) / 2;
-
-		if (imbalance < 0)
-			imbalance = busiest_weight;
+		if (!rem_load)
+			continue;
 
-		max_load = max(rem_load, imbalance);
+		max_load = rem_load;
 		moved_load = __load_balance_fair(this_rq, this_cpu, busiest,
 				max_load, sd, idle, all_pinned, this_best_prio,
 				tg->cfs_rq[busiest_cpu]);
Index: current/kernel/sched_features.h
===================================================================
--- current.orig/kernel/sched_features.h
+++ current/kernel/sched_features.h
@@ -6,5 +6,5 @@ SCHED_FEAT(CACHE_HOT_BUDDY, 1)
 SCHED_FEAT(SYNC_WAKEUPS, 1)
 SCHED_FEAT(HRTICK, 1)
 SCHED_FEAT(DOUBLE_TICK, 0)
-SCHED_FEAT(NORMALIZED_SLEEPER, 1)
+SCHED_FEAT(NORMALIZED_SLEEPER, 0)
 SCHED_FEAT(DEADLINE, 1)

-- 
Regards,
vatsa
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Mon May 5, 10:06 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Wed May 7, 1:42 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 1:21 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Thu May 8, 1:39 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 2:03 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Ingo Molnar, (Wed May 7, 5:17 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Wed May 7, 1:34 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 1:20 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Thu May 8, 2:43 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Thu May 8, 1:34 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Wed May 7, 2:58 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 2:07 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Wed May 7, 5:33 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Andrew Morton, (Wed May 7, 3:04 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Tue May 6, 7:52 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Wed May 7, 1:33 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 1:18 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Thu May 8, 1:40 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Thu May 8, 1:53 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Thu May 8, 2:04 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Thu May 8, 2:11 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Fri May 9, 11:52 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Sun May 11, 9:39 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Sun May 11, 10:37 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Sun May 11, 11:33 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Mon May 12, 12:52 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Mon May 12, 1:02 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Mike Galbraith, (Mon May 12, 5:04 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Mon May 12, 5:20 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Wed May 14, 9:44 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Wed May 14, 11:12 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Thu May 15, 4:20 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Peter Zijlstra, (Thu May 15, 4:41 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Thu May 15, 1:10 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Mike Galbraith, (Wed May 14, 10:50 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Wed May 14, 5:22 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Mon May 12, 1:43 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Sun May 11, 10:04 pm)
Re: volanoMark regression with kernel 2.6.26-rc1, Srivatsa Vaddagiri, (Fri May 9, 11:54 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Dhaval Giani, (Thu May 8, 1:32 am)
Re: volanoMark regression with kernel 2.6.26-rc1, Zhang, Yanmin, (Tue May 6, 1:41 am)