Currently we protect 64bit sum_exec_runtime read on 32bit cpus using
task_rq_lock() which internally takes t->pi_lock and rq->lock. Taking
rq->lock is not needed in this case.

Signed-off-by: Stanislaw Gruszka <[email protected]>
---
 kernel/sched/cputime.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index b93c72d..5535774 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -315,12 +315,11 @@ static inline u64 read_sum_exec_runtime(struct 
task_struct *t)
 static u64 read_sum_exec_runtime(struct task_struct *t)
 {
        u64 ns;
-       struct rq_flags rf;
-       struct rq *rq;
+       unsigned long flags;
 
-       rq = task_rq_lock(t, &rf);
+       raw_spin_lock_irqsave(&t->pi_lock, flags);
        ns = t->se.sum_exec_runtime;
-       task_rq_unlock(rq, t, &rf);
+       raw_spin_unlock_irqrestore(&t->pi_lock, flags);
 
        return ns;
 }
-- 
1.8.3.1

Reply via email to