ANDROID: vendor_hooks: add hooks in cpu_cgroup subsystem
Add hooks to tune cpu policy based on cpu_cgroup. Bug: 333664691 Bug: 439772147 Change-Id: If7ca0f2ae774f433563abfbe4e761f3fb9645633 Signed-off-by: maoshenshen <maoshenshen@oppo.com> (cherry picked from commit 66b74bb79ddfe12ea63b05880eef0548aa4bf6d8) Signed-off-by: Gaowei Pu <pugaowei@oppo.com>
This commit is contained in:
@@ -414,6 +414,10 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_post);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_print_transaction_info);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp);
|
||||
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);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery_set);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ptype_head);
|
||||
|
||||
@@ -406,6 +406,21 @@ DECLARE_HOOK(android_vh_sched_pelt_multiplier,
|
||||
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 */
|
||||
|
||||
@@ -7956,6 +7956,7 @@ void sched_move_task(struct task_struct *tsk)
|
||||
struct rq_flags rf;
|
||||
struct rq *rq;
|
||||
|
||||
trace_android_vh_sched_move_task(tsk);
|
||||
rq = task_rq_lock(tsk, &rf);
|
||||
update_rq_clock(rq);
|
||||
|
||||
@@ -7996,6 +7997,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;
|
||||
}
|
||||
@@ -8004,6 +8006,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;
|
||||
}
|
||||
|
||||
@@ -8044,6 +8048,7 @@ static void cpu_cgroup_css_free(struct cgroup_subsys_state *css)
|
||||
* Relies on the RCU grace period between css_released() and this.
|
||||
*/
|
||||
sched_free_group(tg);
|
||||
trace_android_vh_cpu_cgroup_css_free(css);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -8883,7 +8888,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)
|
||||
|
||||
Reference in New Issue
Block a user