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:
committed by
shenshen mao
parent
900a073e12
commit
a896c50860
@@ -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
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user