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
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
2024-10-17 17:20:50 +08:00
parent 5fb02b687b
commit 6981109fa2
3 changed files with 7 additions and 0 deletions
+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_find_busiest_group,
TP_PROTO(struct sched_group *busiest, struct rq *dst_rq, int *out_balance),
+2
View File
@@ -8960,6 +8960,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
@@ -38,6 +38,7 @@ 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_check_preempt_wakeup_ignore);
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);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_by_task);