diff options
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r-- | kernel/sched_fair.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 969f08c8bd34..bd20fad3deff 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -672,7 +672,10 @@ static void entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) | |||
672 | { | 672 | { |
673 | struct rq *rq = rq_of(cfs_rq); | 673 | struct rq *rq = rq_of(cfs_rq); |
674 | struct sched_entity *next; | 674 | struct sched_entity *next; |
675 | u64 now = __rq_clock(rq); | 675 | u64 now; |
676 | |||
677 | __update_rq_clock(rq); | ||
678 | now = rq->clock; | ||
676 | 679 | ||
677 | /* | 680 | /* |
678 | * Dequeue and enqueue the task to update its | 681 | * Dequeue and enqueue the task to update its |
@@ -824,8 +827,10 @@ dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep, u64 now) | |||
824 | static void yield_task_fair(struct rq *rq, struct task_struct *p) | 827 | static void yield_task_fair(struct rq *rq, struct task_struct *p) |
825 | { | 828 | { |
826 | struct cfs_rq *cfs_rq = task_cfs_rq(p); | 829 | struct cfs_rq *cfs_rq = task_cfs_rq(p); |
827 | u64 now = __rq_clock(rq); | 830 | u64 now; |
828 | 831 | ||
832 | __update_rq_clock(rq); | ||
833 | now = rq->clock; | ||
829 | /* | 834 | /* |
830 | * Dequeue and enqueue the task to update its | 835 | * Dequeue and enqueue the task to update its |
831 | * position within the tree: | 836 | * position within the tree: |