From 4977184b1b02f1fb06b85d59594ee31fdc423782 Mon Sep 17 00:00:00 2001 From: Paul Turner Date: Fri, 21 Jan 2011 20:45:03 -0800 Subject: [PATCH] --- yaml --- r: 234539 b: refs/heads/master c: f07333bf6ee66d9b49286cec4371cf375e745b7a h: refs/heads/master i: 234537: 21c67befc0ed44512a4168b666bcad2de20064e6 234535: b0bba51a17fc966c077ef0a095b685414fb720cd v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 2 ++ trunk/kernel/sched_fair.c | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2d76dfacd4f3..a1abccbfaae7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d5ab2932a21ea54406ab95c43ecff90a3eddfda +refs/heads/master: f07333bf6ee66d9b49286cec4371cf375e745b7a diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index e0fa3ff7f194..6820b5b3a969 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -7796,6 +7796,8 @@ static void init_cfs_rq(struct cfs_rq *cfs_rq, struct rq *rq) INIT_LIST_HEAD(&cfs_rq->tasks); #ifdef CONFIG_FAIR_GROUP_SCHED cfs_rq->rq = rq; + /* allow initial update_cfs_load() to truncate */ + cfs_rq->load_stamp = 1; #endif cfs_rq->min_vruntime = (u64)(-(1LL << 20)); } diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index 0c550c841eee..4cbc9121094c 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -733,6 +733,7 @@ static void update_cfs_load(struct cfs_rq *cfs_rq, int global_update) now - cfs_rq->load_last > 4 * period) { cfs_rq->load_period = 0; cfs_rq->load_avg = 0; + delta = period - 1; } cfs_rq->load_stamp = now;