From 5fed80f580b61142de850e015188b8b4b9504383 Mon Sep 17 00:00:00 2001 From: Abhijeet Dharmapurikar Date: Mon, 7 Dec 2020 13:58:00 -0800 Subject: [PATCH] ANDROID: sched: Add rvh for cpu controller cgroup attach Add a restricted vendor hook when a set of tasks change the cgroups in the cpu controller. This facilitates various scheduler value adds. Bug: 175045928 Change-Id: I544046d631f4d6c9bc2b999e054b5a296ec31a81 Signed-off-by: Abhijeet Dharmapurikar --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 6 ++++++ kernel/sched/core.c | 2 ++ 3 files changed, 9 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 64cbd94fd481..e5d54fb5613e 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -113,3 +113,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index c602a1a24e93..f5c07afdbbcb 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -189,6 +189,11 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_cpu_capacity, DECLARE_RESTRICTED_HOOK(android_rvh_update_misfit_status, TP_PROTO(struct task_struct *p, struct rq *rq, bool *need_update), TP_ARGS(p, rq, need_update), 1); + +struct cgroup_taskset; +DECLARE_RESTRICTED_HOOK(android_rvh_cpu_cgroup_attach, + TP_PROTO(struct cgroup_taskset *tset), + TP_ARGS(tset), 1); #else #define trace_android_rvh_select_task_rq_fair(p, prev_cpu, sd_flag, wake_flags, new_cpu) #define trace_android_rvh_select_task_rq_rt(p, prev_cpu, sd_flag, wake_flags, new_cpu) @@ -232,6 +237,7 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_misfit_status, #define trace_android_rvh_place_entity(se, vruntime) #define trace_android_rvh_update_cpu_capacity(cpu, capacity) #define trace_android_rvh_update_misfit_status(p, rq, need_update) +#define trace_android_rvh_cpu_cgroup_attach(tset) #endif #endif /* _TRACE_HOOK_SCHED_H */ /* This part must be outside protection */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9b017bc20ece..b663db3e39a2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7856,6 +7856,8 @@ static void cpu_cgroup_attach(struct cgroup_taskset *tset) cgroup_taskset_for_each(task, css, tset) sched_move_task(task); + + trace_android_rvh_cpu_cgroup_attach(tset); } #ifdef CONFIG_UCLAMP_TASK_GROUP