ANDROID: vendor_hooks: add hooks in cpu_cgroup subsystem

Add hooks to tune cpu policy based on cpu_cgroup.

Bug: 333664691

Change-Id: If7ca0f2ae774f433563abfbe4e761f3fb9645633
Signed-off-by: maoshenshen <maoshenshen@oppo.com>
(cherry picked from commit 66b74bb79ddfe12ea63b05880eef0548aa4bf6d8)
This commit is contained in:
maoshenshen
2024-04-09 20:34:38 +08:00
committed by shenshen mao
parent 900a073e12
commit a896c50860
3 changed files with 26 additions and 1 deletions
+15
View File
@@ -421,6 +421,21 @@ DECLARE_HOOK(android_vh_sched_setaffinity_early,
DECLARE_HOOK(android_vh_reweight_entity,
TP_PROTO(struct sched_entity *se),
TP_ARGS(se));
struct cgroup_subsys_state;
DECLARE_HOOK(android_vh_sched_move_task,
TP_PROTO(struct task_struct *tsk),
TP_ARGS(tsk));
DECLARE_HOOK(android_vh_cpu_cgroup_css_alloc,
TP_PROTO(struct task_group *tg, struct cgroup_subsys_state *parent_css),
TP_ARGS(tg, parent_css));
DECLARE_HOOK(android_vh_cpu_cgroup_css_alloc_early,
TP_PROTO(struct task_group *parent),
TP_ARGS(parent));
DECLARE_HOOK(android_vh_cpu_cgroup_css_free,
TP_PROTO(struct cgroup_subsys_state *css),
TP_ARGS(css));
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_SCHED_H */
+7 -1
View File
@@ -9988,6 +9988,7 @@ void sched_move_task(struct task_struct *tsk)
struct task_group *group;
struct rq *rq;
trace_android_vh_sched_move_task(tsk);
CLASS(task_rq_lock, rq_guard)(tsk);
rq = rq_guard.rq;
@@ -10032,6 +10033,7 @@ cpu_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
struct task_group *tg;
if (!parent) {
trace_android_vh_cpu_cgroup_css_alloc_early(parent);
/* This is early initialization for the top cgroup */
return &root_task_group.css;
}
@@ -10040,6 +10042,8 @@ cpu_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
if (IS_ERR(tg))
return ERR_PTR(-ENOMEM);
trace_android_vh_cpu_cgroup_css_alloc(tg, parent_css);
return &tg->css;
}
@@ -10090,6 +10094,8 @@ static void cpu_cgroup_css_free(struct cgroup_subsys_state *css)
* Relies on the RCU grace period between css_released() and this.
*/
sched_unregister_group(tg);
trace_android_vh_cpu_cgroup_css_free(css);
}
static int cpu_cgroup_can_attach(struct cgroup_taskset *tset)
@@ -11052,7 +11058,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
.early_init = true,
.threaded = true,
};
EXPORT_SYMBOL_GPL(cpu_cgrp_subsys);
#endif /* CONFIG_CGROUP_SCHED */
void dump_cpu_task(int cpu)
+4
View File
@@ -109,3 +109,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg_cfs_rq);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg_internal);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_reweight_entity);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_move_task);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_cgroup_css_alloc_early);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_cgroup_css_alloc);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_cgroup_css_free);