diff options
author | Shrikanth Hegde <sshegde@linux.vnet.ibm.com> | 2024-01-01 21:16:24 +0530 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2024-02-28 15:11:15 +0100 |
commit | a6965b31888501f889261a6783f0de6afff84f8d (patch) | |
tree | e53367e0254a49d64b0f9828e01c28d14f829e56 /kernel/sched/sched.h | |
parent | 8b936fc1d84f7d70009ea34d66bbf6c54c09fae7 (diff) | |
download | linux-stable-a6965b31888501f889261a6783f0de6afff84f8d.tar.gz linux-stable-a6965b31888501f889261a6783f0de6afff84f8d.tar.bz2 linux-stable-a6965b31888501f889261a6783f0de6afff84f8d.zip |
sched/fair: Add READ_ONCE() and use existing helper function to access ->avg_irq
Use existing helper function cpu_util_irq() instead of open-coding
access to ->avg_irq.
During review it was noted that ->avg_irq could be updated by a
different CPU than the one which is trying to access it.
->avg_irq is updated with WRITE_ONCE(), use READ_ONCE to access it
in order to avoid any compiler optimizations.
Signed-off-by: Shrikanth Hegde <sshegde@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Link: https://lore.kernel.org/r/20240101154624.100981-3-sshegde@linux.vnet.ibm.com
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r-- | kernel/sched/sched.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 001fe047bd5d..d2242679239e 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -3136,7 +3136,7 @@ static inline bool uclamp_rq_is_idle(struct rq *rq) #ifdef CONFIG_HAVE_SCHED_AVG_IRQ static inline unsigned long cpu_util_irq(struct rq *rq) { - return rq->avg_irq.util_avg; + return READ_ONCE(rq->avg_irq.util_avg); } static inline |