diff options
-rw-r--r-- | kernel/sched_fair.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 16ee398d8a4e..c62ebae65cf0 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -765,8 +765,12 @@ static void update_cfs_load(struct cfs_rq *cfs_rq, int global_update) | |||
765 | static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, | 765 | static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, |
766 | unsigned long weight) | 766 | unsigned long weight) |
767 | { | 767 | { |
768 | if (se->on_rq) | 768 | if (se->on_rq) { |
769 | /* commit outstanding execution time */ | ||
770 | if (cfs_rq->curr == se) | ||
771 | update_curr(cfs_rq); | ||
769 | account_entity_dequeue(cfs_rq, se); | 772 | account_entity_dequeue(cfs_rq, se); |
773 | } | ||
770 | 774 | ||
771 | update_load_set(&se->load, weight); | 775 | update_load_set(&se->load, weight); |
772 | 776 | ||