From 2490ab50e7c7f0200a97aadb3ca003de4a822b58 Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Tue, 22 Mar 2022 22:22:09 +0800 Subject: [PATCH] ANDROID: sched: Add vendor hook for rt util update Vendor may have need to track rt util. Bug: 201261299 Signed-off-by: Rick Yiu Change-Id: I2f4e5142c6bc8574ee3558042e1fb0dae13b702d --- include/trace/hooks/sched.h | 4 ++++ kernel/sched/rt.c | 3 +++ kernel/sched/vendor_hooks.c | 1 + 3 files changed, 8 insertions(+) diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 18f03c60a792..594d6bd6c38b 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -422,6 +422,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_blocked_fair, TP_PROTO(struct rq *rq), TP_ARGS(rq), 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); + #endif /* _TRACE_HOOK_SCHED_H */ /* This part must be outside protection */ #include diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index b55c5221fc4c..0de7c8fdb3f7 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -1848,6 +1848,7 @@ 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); + trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 0); rt_queue_push_tasks(rq); } @@ -1918,6 +1919,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 @@ -2737,6 +2739,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); diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 6dfffed61e3c..9a8f2c3b2758 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -107,3 +107,4 @@ 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);