From 77ba2da15213c208f4c8f42276eb1a4e64d312cf Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Mon, 15 Oct 2007 17:00:04 +0200 Subject: [PATCH] --- yaml --- r: 69023 b: refs/heads/master c: 6cb58195143b55d4c427d92f8425bec2b0d9c56c h: refs/heads/master i: 69021: 66bd8a763ad94003f934e33d067ef420c021ee2e 69019: b69b9e485cbc628b68c3fba0c627eea0b32c2cf1 69015: 54635eb1f3a4c462ec46100aa8aec010f411c204 69007: 0a0ee013bf08441e37103c87303b0aeef0b50d27 68991: 1b003de91c3b59231f3a1f939807c14085198244 v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 5 +++-- trunk/kernel/sched_fair.c | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 1ac842eafd99..3f83787a80bc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bf5c91ba8c629b84413c761f529627195fd0a935 +refs/heads/master: 6cb58195143b55d4c427d92f8425bec2b0d9c56c diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index a5dd03522e32..5594e65166fc 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -732,13 +732,14 @@ calc_delta_fair(unsigned long delta_exec, struct load_weight *lw) static inline void update_load_add(struct load_weight *lw, unsigned long inc) { lw->weight += inc; - lw->inv_weight = WMULT_CONST / lw->weight; + if (sched_feat(FAIR_SLEEPERS)) + lw->inv_weight = WMULT_CONST / lw->weight; } static inline void update_load_sub(struct load_weight *lw, unsigned long dec) { lw->weight -= dec; - if (likely(lw->weight)) + if (sched_feat(FAIR_SLEEPERS) && likely(lw->weight)) lw->inv_weight = WMULT_CONST / lw->weight; } diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index a566a4558167..7041dc697855 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -336,6 +336,9 @@ __update_curr(struct cfs_rq *cfs_rq, struct sched_entity *curr, } curr->vruntime += delta_exec_weighted; + if (!sched_feat(FAIR_SLEEPERS)) + return; + if (unlikely(!load)) return;