Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6cb58195143b55d4c427d92f8425bec2b0d9c56c Commit: 6cb58195143b55d4c427d92f8425bec2b0d9c56c Parent: bf5c91ba8c629b84413c761f529627195fd0a935 Author: Ingo Molnar <[EMAIL PROTECTED]> AuthorDate: Mon Oct 15 17:00:04 2007 +0200 Committer: Ingo Molnar <[EMAIL PROTECTED]> CommitDate: Mon Oct 15 17:00:04 2007 +0200
sched: optimize vruntime based scheduling optimize vruntime based scheduling. Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]> Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]> Signed-off-by: Mike Galbraith <[EMAIL PROTECTED]> Reviewed-by: Thomas Gleixner <[EMAIL PROTECTED]> --- kernel/sched.c | 5 +++-- kernel/sched_fair.c | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c index a5dd035..5594e65 100644 --- a/kernel/sched.c +++ b/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/kernel/sched_fair.c b/kernel/sched_fair.c index a566a45..7041dc6 100644 --- a/kernel/sched_fair.c +++ b/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; - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html