ANDROID: arch_topology: Add android_rvh_update_thermal_stats

Add trace hook so that vendor modules can track
thermal changes across the system.

This feature is necessary to implement Qualcomm's
load tracking scheme, WALT. WALT was originally
submitted upstream, but due to complexities it was
decided that a better path forward would to be
improve on existing PELT. Link to upstream
submission of WALT can be found below.

Bug: 203763121
Link: https://lore.kernel.org/lkml/1477638642-17428-2-git-send-email-markivx@codeaurora.org/
Change-Id: I5c54b313d3c92c0514f18b07797dd20c9c6f5161
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
Signed-off-by: Vamsi Krishna Lanka <quic_vamslank@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
This commit is contained in:
Vamsi Krishna Lanka 2021-10-21 14:30:17 -07:00 committed by Todd Kjos
parent f8c92acbe7
commit 58aade7204
3 changed files with 9 additions and 1 deletions

View File

@ -205,8 +205,11 @@ void topology_update_thermal_pressure(const struct cpumask *cpus,
trace_thermal_pressure_update(cpu, th_pressure);
for_each_cpu(cpu, cpus)
for_each_cpu(cpu, cpus) {
WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure);
trace_android_rvh_update_thermal_stats(cpu);
}
}
EXPORT_SYMBOL_GPL(topology_update_thermal_pressure);

View File

@ -308,6 +308,10 @@ DECLARE_HOOK(android_vh_update_topology_flags_workfn,
TP_PROTO(void *unused),
TP_ARGS(unused));
DECLARE_RESTRICTED_HOOK(android_rvh_update_thermal_stats,
TP_PROTO(int cpu),
TP_ARGS(cpu), 1);
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_SCHED_H */

View File

@ -80,3 +80,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_thermal_stats);