Skip to content

Commit 6f8b7ac

Browse files
Ke Wangpundiramit
authored andcommitted
trace: sched: Fix util_avg_walt in sched_load_avg_cpu trace
cumulative_runnable_avg was introduced in commit ee4cebd ("sched: EAS/WALT: use cr_avg instead of prev_runnable_sum") in cpu_util() for task placement, which is used to replace prev_runnable_sum. Fix util_avg_walt in sched_load_avg_cpu trace, which use prev_runnable_sum for cpu_util(). Moreover, fix potential overflow due to cumulative_runnable_avg is in u64. Change-Id: I1220477bf2ff32a6e34a34b6280b15a8178203a8 Signed-off-by: Ke Wang <ke.wang@spreadtrum.com>
1 parent dd1a6f1 commit 6f8b7ac

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

include/trace/events/sched.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -724,9 +724,9 @@ TRACE_EVENT(sched_load_avg_cpu,
724724
__entry->util_avg_pelt = cfs_rq->avg.util_avg;
725725
__entry->util_avg_walt = 0;
726726
#ifdef CONFIG_SCHED_WALT
727-
__entry->util_avg_walt =
728-
cpu_rq(cpu)->prev_runnable_sum << SCHED_LOAD_SHIFT;
729-
do_div(__entry->util_avg_walt, walt_ravg_window);
727+
__entry->util_avg_walt =
728+
div64_u64(cpu_rq(cpu)->cumulative_runnable_avg,
729+
walt_ravg_window >> SCHED_LOAD_SHIFT);
730730
if (!walt_disabled && sysctl_sched_use_walt_cpu_util)
731731
__entry->util_avg = __entry->util_avg_walt;
732732
#endif

0 commit comments

Comments
 (0)