From ef815ee8562d92d2bcacd87129572fd68ba32a0a Mon Sep 17 00:00:00 2001 From: Shaleen Agrawal Date: Thu, 19 Nov 2020 15:57:16 -0800 Subject: [PATCH] ANDROID: Sched: Add restricted vendor hook in wake_up_new_task() Our vendor logic classifies task as a major task and CPU resources are preferentially allocated for improving performance. Added a hook in wake_up_new_task for task classification before moving to the runqueue This vendor hook was part of commit 292f430816f36384634ca1365ccc67c08302dd21 (ANDROID: Sched: Add restricted vendor hooks for scheduler) But commit 7219ca326a8e84df0c88db8aa4eafd793a55527c (Revert "ANDROID: Sched: Add restricted vendor hooks for scheduler") deleted above vendor hooks stating unused Adding back above vendor hooks required for EMS. Bug: 259900798 Change-Id: Ieb8697fc572bce2e60de05c9dd914de0feb5adb6 Signed-off-by: Shaleen Agrawal Signed-off-by: Khalid Shaik --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/sched/core.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 160920036a2f..c60ec52d5d26 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -182,6 +182,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_disable); 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_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 f6e995d3faf0..7d41dbc6ac15 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -149,6 +149,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_sched_fork, TP_PROTO(struct task_struct *p), TP_ARGS(p), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_wake_up_new_task, + TP_PROTO(struct task_struct *p), + TP_ARGS(p), 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 65919093f834..f53d62faa360 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3585,6 +3585,8 @@ void wake_up_new_task(struct task_struct *p) struct rq_flags rf; struct rq *rq; + trace_android_rvh_wake_up_new_task(p); + raw_spin_lock_irqsave(&p->pi_lock, rf.flags); p->state = TASK_RUNNING; #ifdef CONFIG_SMP