From b69b9e485cbc628b68c3fba0c627eea0b32c2cf1 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Mon, 15 Oct 2007 17:00:04 +0200 Subject: [PATCH] --- yaml --- r: 69019 b: refs/heads/master c: 1091985b482fdd577a5c511059b9d7b4467bd15d h: refs/heads/master i: 69017: 3200fc87b78f8173d99d04fbb6226228d4e5dc59 69015: 54635eb1f3a4c462ec46100aa8aec010f411c204 v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6f91e40cc65c..ecfcfe2e94cc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 19ccd97a03a026c2341b35af3ed2078a83c4a22b +refs/heads/master: 1091985b482fdd577a5c511059b9d7b4467bd15d diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 3209e2cc2c2e..992a1fae72a7 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -697,16 +697,17 @@ calc_delta_fair(unsigned long delta_exec, struct load_weight *lw) return calc_delta_mine(delta_exec, NICE_0_LOAD, lw); } -static void update_load_add(struct load_weight *lw, unsigned long inc) +static inline void update_load_add(struct load_weight *lw, unsigned long inc) { lw->weight += inc; - lw->inv_weight = 0; + lw->inv_weight = WMULT_CONST / lw->weight; } -static void update_load_sub(struct load_weight *lw, unsigned long dec) +static inline void update_load_sub(struct load_weight *lw, unsigned long dec) { lw->weight -= dec; - lw->inv_weight = 0; + if (likely(lw->weight)) + lw->inv_weight = WMULT_CONST / lw->weight; } /*