From 93c605314b4232f9872d58bbf45bc9dbe7220480 Mon Sep 17 00:00:00 2001 From: Abhijeet Dharmapurikar Date: Tue, 4 May 2021 12:26:13 -0700 Subject: [PATCH] ANDROID: sched: Add vendor hooks for update_topology Add a vendor hook for modules to know when the topology code has determined the max capacity of cpus. Bug: 200103201 Change-Id: Ia3e22479059d2e57500cbdd46504aa4773af6e4a Signed-off-by: Abhijeet Dharmapurikar Signed-off-by: Ashay Jaiswal --- drivers/android/vendor_hooks.c | 1 + drivers/base/arch_topology.c | 1 + include/trace/hooks/topology.h | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index e5907e265470..0dfd54c0467c 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -156,3 +156,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn); diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 72e44cf21297..9c51328c188e 100644 --- a/drivers/base/arch_topology.c +++ b/drivers/base/arch_topology.c @@ -219,6 +219,7 @@ static void update_topology_flags_workfn(struct work_struct *work) { update_topology = 1; rebuild_sched_domains(); + trace_android_vh_update_topology_flags_workfn(NULL); pr_debug("sched_domain hierarchy rebuilt, flags updated\n"); update_topology = 0; } diff --git a/include/trace/hooks/topology.h b/include/trace/hooks/topology.h index 7b2981073117..521e07e58f04 100644 --- a/include/trace/hooks/topology.h +++ b/include/trace/hooks/topology.h @@ -16,6 +16,10 @@ DECLARE_HOOK(android_vh_arch_set_freq_scale, unsigned long max, unsigned long *scale), TP_ARGS(cpus, freq, max, scale)); +DECLARE_HOOK(android_vh_update_topology_flags_workfn, + TP_PROTO(void *unused), + TP_ARGS(unused)); + #endif /* _TRACE_HOOK_TOPOLOGY_H */ /* This part must be outside protection */ #include