From 73ae4bff1d1498f14dd70fadb2d37baec20f9ab5 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Wed, 7 Apr 2021 18:46:44 +0530 Subject: [PATCH] ANDROID: sched/fair: call set_next_entity() on the replaced next task android_rvh_replace_next_task_fair hook allows vendor modules to override the next task selected by CFS. However the current code is not calling set_next_entity() on the hierarchy of the replaced task in the case where the previous task is CFS. Fix this issue. Bug: 184720311 Change-Id: If6c35b1ddefd0829cd236dd821e5ac8aef7347c6 Signed-off-by: Pavankumar Kondeti --- kernel/sched/fair.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ab18358ac7e8..2bfabde1cc06 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7211,8 +7211,11 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf put_prev_task(rq, prev); trace_android_rvh_replace_next_task_fair(rq, &p, &se, &repick, true); - if (repick) + if (repick) { + for_each_sched_entity(se) + set_next_entity(cfs_rq_of(se), se); goto done; + } do { se = pick_next_entity(cfs_rq, NULL);