From 7ed1e92cbe470212b8674aa148456be68a030950 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 27 Jun 2008 13:41:32 +0200 Subject: [PATCH] --- yaml --- r: 100234 b: refs/heads/master c: cb5ef42a03a13f95a9ea94e6cda4f7a47497871f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_fair.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a3a2a0208253..3ce599a2bb25 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 051c67640e771fd6ad1b676fc0c16c379b3c6f80 +refs/heads/master: cb5ef42a03a13f95a9ea94e6cda4f7a47497871f diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index a1694441f8b7..0d197be3e3e9 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -1082,16 +1082,16 @@ static unsigned long effective_load(struct task_group *tg, long wl, int cpu) for_each_sched_entity(se) { #define D(n) (likely(n) ? (n) : 1) - long S, Srw, rw, s, sn; + long S, rw, s, a, b; S = se->my_q->tg->shares; s = se->my_q->shares; rw = se->my_q->load.weight; - Srw = S * rw / D(s); - sn = S * (rw + wl) / D(Srw + wg); + a = S*(rw + wl); + b = S*rw + s*wg; - wl = sn - s; + wl = s*(a-b)/D(b); wg = 0; #undef D }