diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 133105574181..33bbcecb13f7 100644 --- a/drivers/base/arch_topology.c +++ b/drivers/base/arch_topology.c @@ -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); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 1740aa523753..a0b7a80a0817 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -317,6 +317,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 */ diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index c5ee5fbc3565..22051d1e1adf 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -1113,6 +1113,7 @@ void rebuild_sched_domains(void) percpu_up_write(&cpuset_rwsem); cpus_read_unlock(); } +EXPORT_SYMBOL_GPL(rebuild_sched_domains); static int update_cpus_allowed(struct cpuset *cs, struct task_struct *p, const struct cpumask *new_mask) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 5ce98da1ae32..f684c34df071 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -435,6 +435,8 @@ struct task_group { struct uclamp_se uclamp[UCLAMP_CNT]; /* Latency-sensitive flag used for a task group */ unsigned int latency_sensitive; + + ANDROID_VENDOR_DATA_ARRAY(1, 4); #endif }; diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 267228311736..643c7c81c54a 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -81,3 +81,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);