ANDROID: vendor_hooks: add dequeue_task_result in after_dequeue_task vh

Delayed dequeued feature keeps a sleeping sched_entitiy enqueued until its
lag has elapsed. So the dequeue_task maybe fail when the task is not
eligible.
So add the dequeue_task_result to the after_deuqueu_task vh to
notify the vendor modules.

Bug: 377437825

Change-Id: I871d4e3cc9ed51fb823ce42a3627a2ccf30bc379
Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com>
This commit is contained in:
Xuewen Yan
2025-02-26 10:58:45 +08:00
committed by Treehugger Robot
parent 32b9f5bb87
commit de538a0896
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -277,8 +277,8 @@ DECLARE_RESTRICTED_HOOK(android_rvh_after_enqueue_task,
TP_ARGS(rq, p, flags), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_after_dequeue_task,
TP_PROTO(struct rq *rq, struct task_struct *p, int flags),
TP_ARGS(rq, p, flags), 1);
TP_PROTO(struct rq *rq, struct task_struct *p, int flags, bool *dequeue_task_result),
TP_ARGS(rq, p, flags, dequeue_task_result), 1);
struct cfs_rq;
struct sched_entity;
+1 -1
View File
@@ -2130,7 +2130,7 @@ inline bool dequeue_task(struct rq *rq, struct task_struct *p, int flags)
uclamp_rq_dec(rq, p);
trace_android_rvh_dequeue_task(rq, p, flags);
dequeue_task_result = p->sched_class->dequeue_task(rq, p, flags);
trace_android_rvh_after_dequeue_task(rq, p, flags);
trace_android_rvh_after_dequeue_task(rq, p, flags, &dequeue_task_result);
return dequeue_task_result;
}