ANDROID: sched: Add vendor hooks for update_load_avg
Add vh before and after __update_load_avg_se in order to collect load change of tasks. Bug: 185557444 Change-Id: I210973f7e388164b68ed766074d1420cdf9d4c32 Signed-off-by: JianMin Liu <jian-min.liu@mediatek.com>
This commit is contained in:
parent
2f77dca33d
commit
f3f8d55011
3 changed files with 13 additions and 0 deletions
|
|
@ -257,3 +257,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_entity);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_entity_tick);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_prepare_update_load_avg_se);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_finish_update_load_avg_se);
|
||||
|
|
|
|||
|
|
@ -346,6 +346,14 @@ DECLARE_RESTRICTED_HOOK(android_rvh_dequeue_task_fair,
|
|||
TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
|
||||
TP_ARGS(rq, p, flags), 1);
|
||||
|
||||
DECLARE_HOOK(android_vh_prepare_update_load_avg_se,
|
||||
TP_PROTO(struct sched_entity *se, int flags),
|
||||
TP_ARGS(se, flags));
|
||||
|
||||
DECLARE_HOOK(android_vh_finish_update_load_avg_se,
|
||||
TP_PROTO(struct sched_entity *se, int flags),
|
||||
TP_ARGS(se, flags));
|
||||
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_SCHED_H */
|
||||
|
|
|
|||
|
|
@ -3792,6 +3792,7 @@ static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
|
|||
u64 now = cfs_rq_clock_pelt(cfs_rq);
|
||||
int decayed;
|
||||
|
||||
trace_android_vh_prepare_update_load_avg_se(se, flags);
|
||||
/*
|
||||
* Track task load average for carrying it to new CPU after migrated, and
|
||||
* track group sched_entity load average for task_h_load calc in migration
|
||||
|
|
@ -3799,6 +3800,8 @@ static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
|
|||
if (se->avg.last_update_time && !(flags & SKIP_AGE_LOAD))
|
||||
__update_load_avg_se(now, cfs_rq, se);
|
||||
|
||||
trace_android_vh_finish_update_load_avg_se(se, flags);
|
||||
|
||||
decayed = update_cfs_rq_load_avg(now, cfs_rq);
|
||||
decayed |= propagate_entity_load_avg(se);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue