ANDROID: sched: Add replace_next_task_fair vendor hook in pick_next_task_fair

Add trace_android_rvh_replace_next_task_fair vendor hook in scheduler
to support OEM's need to override the selected task from pick_next_task_fair()
due to situations where important tasks are not picked in time.

Bug: 374011864
Bug: 413566818
Change-Id: I55a0e7e794be77ba32c8adbff7b7eb2d914e4c52
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
[jstultz: reworded commit message]
Signed-off-by: John Stultz <jstultz@google.com>
This commit is contained in:
Wanwei Jiang authored and Treehugger Robot committed 2025-05-06 11:39:08 -07:00
1 parent 7675933742
commit 3d5bad71a7
3 files changed
+7

No files matched your search

+4
View File
@@ -76,6 +76,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_setscheduler,
TP_PROTO(struct task_struct *p),
TP_ARGS(p), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_replace_next_task_fair,
TP_PROTO(struct rq *rq, struct task_struct **p, struct task_struct *prev),
TP_ARGS(rq, p, prev), 1);
struct sched_group;
DECLARE_RESTRICTED_HOOK(android_rvh_sched_balance_find_src_group,
TP_PROTO(struct sched_group *busiest, struct rq *dst_rq, int *out_balance),
+2
View File
@@ -8953,6 +8953,8 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf
again:
p = pick_task_fair(rq);
trace_android_rvh_replace_next_task_fair(rq, &p, prev);
if (!p)
goto idle;
se = &p->se;
+1
View File
@@ -37,6 +37,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_overutilized);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_setaffinity);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_balance_rt);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_fair);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_by_task);