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:
@@ -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),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user