diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 355d876e9b25..eb9cf143d49c 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -296,6 +296,10 @@ 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_sched_stat_runtime_rt, + TP_PROTO(struct task_struct *tsk, u64 delta), + TP_ARGS(tsk, delta)); + DECLARE_RESTRICTED_HOOK(android_rvh_util_est_update, TP_PROTO(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep, int *ret), TP_ARGS(cfs_rq, p, task_sleep, ret), 1); diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e618b1b19b46..94d19e48e42b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -58,6 +58,8 @@ #include +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_runtime); + /* * Targeted preemption latency for CPU-bound tasks: * diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index ea0887541754..b55c5221fc4c 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -1073,6 +1073,8 @@ static void update_curr_rt(struct rq *rq) update_current_exec_runtime(curr, now, delta_exec); + trace_android_vh_sched_stat_runtime_rt(curr, delta_exec); + if (!rt_bandwidth_enabled()) return; diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index ac82d6d3a3c6..05713aa5cb42 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -81,6 +81,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_thermal_stats); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_stat_runtime_rt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);