ANDROID: GKI: sched: add rvh for new cfs task util

A vendor hook is added in post_init_entity_util_avg before
a new cfs task's util is attached to cfs_rq's util so that
vendors can gather and modify se's information to modify
scheduling behavior and DVFS as they want.

trace_android_rvh_new_task_stats is not a proper hook because
it is called after the task's util is attached to cfs_rq's util,
which means updating cfs_rq's sched_avg and DVFS request are done.

Bug: 184219858

Signed-off-by: Choonghoon Park <choong.park@samsung.com>
Change-Id: I2deaa93297f8464895978496c9838cdffaa35b7f
This commit is contained in:
Choonghoon Park
2021-04-01 13:59:15 +09:00
committed by Quentin Perret
parent ca6883251a
commit 25d620ba79
3 changed files with 7 additions and 0 deletions

View File

@@ -197,3 +197,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rto_next_cpu);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_dev_register_pd); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_dev_register_pd);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf_pr_cont); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf_pr_cont);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg);

View File

@@ -323,6 +323,10 @@ DECLARE_HOOK(android_vh_em_dev_register_pd,
TP_PROTO(bool *cond), TP_PROTO(bool *cond),
TP_ARGS(cond)); TP_ARGS(cond));
DECLARE_RESTRICTED_HOOK(android_rvh_post_init_entity_util_avg,
TP_PROTO(struct sched_entity *se),
TP_ARGS(se), 1);
#endif /* _TRACE_HOOK_SCHED_H */ #endif /* _TRACE_HOOK_SCHED_H */
/* This part must be outside protection */ /* This part must be outside protection */
#include <trace/define_trace.h> #include <trace/define_trace.h>

View File

@@ -809,6 +809,8 @@ void post_init_entity_util_avg(struct task_struct *p)
return; return;
} }
/* Hook before this se's util is attached to cfs_rq's util */
trace_android_rvh_post_init_entity_util_avg(se);
attach_entity_cfs_rq(se); attach_entity_cfs_rq(se);
} }