mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-12 20:35:23 +02:00
ANDROID: sched: Add vendor hook for rt util update
Vendor may have need to track rt util.
The hook is expected to always be called in set_next_task_rt() unlike
update_rt_rq_load_avg().
Bug: 344826816
Bug: 201261299
Signed-off-by: Rick Yiu <rickyiu@google.com>
Change-Id: I2f4e5142c6bc8574ee3558042e1fb0dae13b702d
(cherry picked from commit 2490ab50e7
)
[Trivial conflict in include/trace/hooks/sched.h due to new code added.
And in vendor_hooks.c due to code ordering.]
Signed-off-by: Qais Yousef <qyousef@google.com>
This commit is contained in:
parent
1a7550f7c9
commit
9ad961ed05
|
@ -455,6 +455,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_set_iowait,
|
|||
TP_PROTO(struct task_struct *p, struct rq *rq, int *should_iowait_boost),
|
||||
TP_ARGS(p, rq, should_iowait_boost), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_update_rt_rq_load_avg,
|
||||
TP_PROTO(u64 now, struct rq *rq, struct task_struct *tsk, int running),
|
||||
TP_ARGS(now, rq, tsk, running), 1);
|
||||
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_SCHED_H */
|
||||
|
|
|
@ -1849,6 +1849,9 @@ static inline void set_next_task_rt(struct rq *rq, struct task_struct *p, bool f
|
|||
if (rq->curr->sched_class != &rt_sched_class)
|
||||
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 0);
|
||||
|
||||
/* Should always be called unlike update_rt_rq_load_avg() */
|
||||
trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 0);
|
||||
|
||||
rt_queue_push_tasks(rq);
|
||||
}
|
||||
|
||||
|
@ -1918,6 +1921,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
|
|||
update_curr_rt(rq);
|
||||
|
||||
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 1);
|
||||
trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 1);
|
||||
|
||||
/*
|
||||
* The previous task needs to be made eligible for pushing
|
||||
|
@ -2745,6 +2749,7 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p, int queued)
|
|||
|
||||
update_curr_rt(rq);
|
||||
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 1);
|
||||
trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 1);
|
||||
|
||||
watchdog(rq, p);
|
||||
|
||||
|
|
|
@ -113,6 +113,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_detach_entity_load_avg);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_blocked_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_uclamp_validate);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_sugov_sched_attr);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_iowait);
|
||||
|
|
Loading…
Reference in New Issue
Block a user