From fcc5e942e0b416fdeb2e697ef796c22eb49bdc53 Mon Sep 17 00:00:00 2001 From: Dezhi Huang Date: Wed, 14 Jun 2023 15:43:47 +0800 Subject: [PATCH] ANDROID: sched: Add parameter to android_rvh_schedule. Checking whether the ui and render threads are preempted during frame drawing,then adjusting the prority and core selection if they are preempted,because we expect the threads to be executed first.By introducing the sched_mode parameter, we can check the prev thread preemption status in the hook, and judging important threads for executing business logic. Bug: 285166029 Change-Id: I6af31dff4c9032940c7f1c991a25a49ebbeac7a8 Signed-off-by: Dezhi Huang --- include/trace/hooks/sched.h | 5 +++-- kernel/sched/core.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index fc1a832ccac1..7b5ab104d7fe 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -161,8 +161,9 @@ DECLARE_RESTRICTED_HOOK(android_rvh_tick_entry, TP_ARGS(rq), 1); DECLARE_RESTRICTED_HOOK(android_rvh_schedule, - TP_PROTO(struct task_struct *prev, struct task_struct *next, struct rq *rq), - TP_ARGS(prev, next, rq), 1); + TP_PROTO(unsigned int sched_mode, struct task_struct *prev, + struct task_struct *next, struct rq *rq), + TP_ARGS(sched_mode, prev, next, rq), 1); DECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_starting, TP_PROTO(int cpu), diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 52e3a26643af..c9d59630444a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6638,7 +6638,7 @@ static void __sched notrace __schedule(unsigned int sched_mode) rq->last_seen_need_resched_ns = 0; #endif - trace_android_rvh_schedule(prev, next, rq); + trace_android_rvh_schedule(sched_mode, prev, next, rq); if (likely(prev != next)) { rq->nr_switches++; /*