ANDROID: Add vendor hook to the deadline scheduler

android_rvh_select_task_rq_dl:
    To perform vendor-specific DL task placement.

Bug: 207585485
Test: build pass

Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com>
Change-Id: Ibe147276b52a1be877802a2e53e87ba3eb8c9161
(cherry picked from commit 478f3ee1d3)
This commit is contained in:
Xuewen Yan
2021-11-24 14:27:27 +08:00
parent 405073393f
commit 74710cbec0
3 changed files with 12 additions and 0 deletions

View File

@@ -58,6 +58,7 @@
*/
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_fair);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_rt);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_dl);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_fallback_rq);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scheduler_tick);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task);

View File

@@ -19,6 +19,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_select_task_rq_rt,
TP_PROTO(struct task_struct *p, int prev_cpu, int sd_flag, int wake_flags, int *new_cpu),
TP_ARGS(p, prev_cpu, sd_flag, wake_flags, new_cpu), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_select_task_rq_dl,
TP_PROTO(struct task_struct *p, int prev_cpu, int sd_flag, int wake_flags, int *new_cpu),
TP_ARGS(p, prev_cpu, sd_flag, wake_flags, new_cpu), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_select_fallback_rq,
TP_PROTO(int cpu, struct task_struct *p, int *new_cpu),
TP_ARGS(cpu, p, new_cpu), 1);

View File

@@ -17,6 +17,7 @@
*/
#include "sched.h"
#include "pelt.h"
#include <trace/hooks/sched.h>
struct dl_bandwidth def_dl_bandwidth;
@@ -1673,6 +1674,12 @@ select_task_rq_dl(struct task_struct *p, int cpu, int flags)
struct task_struct *curr;
bool select_rq;
struct rq *rq;
int target_cpu = -1;
trace_android_rvh_select_task_rq_dl(p, cpu, flags & 0xF,
flags, &target_cpu);
if (target_cpu >= 0)
return target_cpu;
if (!(flags & WF_TTWU))
goto out;