diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index c60ec52d5d26..bc0d4b44ec21 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -183,6 +183,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_enable); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_cpu); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_wake_up_new_task); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_build_perf_domains); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_can_attach); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 7d41dbc6ac15..794dc1b4fa6f 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -153,6 +153,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_wake_up_new_task, TP_PROTO(struct task_struct *p), TP_ARGS(p), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_schedule, + TP_PROTO(struct task_struct *prev, struct task_struct *next, struct rq *rq), + TP_ARGS(prev, next, rq), 1); + DECLARE_RESTRICTED_HOOK(android_rvh_build_perf_domains, TP_PROTO(bool *eas_check), TP_ARGS(eas_check), 1); diff --git a/kernel/sched/core.c b/kernel/sched/core.c index f53d62faa360..0e934ba80c34 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4758,6 +4758,7 @@ static void __sched notrace __schedule(bool preempt) clear_tsk_need_resched(prev); clear_preempt_need_resched(); + trace_android_rvh_schedule(prev, next, rq); if (likely(prev != next)) { rq->nr_switches++; /*