ANDROID: sched: rt: rearrange invocation of find_lowest_rq() vendor hook

Right now, invocation of find_lowest_rq() vendor hook is made before
error checks and also, cpupri_find() isn't exported either. It would be
appropriate to move invocation of find_lowest_rq() vendor hook after
error checks are done & calling cpupri_find().

Bug: 173559623
Change-Id: I298dffd39be0451b0b154930ace4e16763c6e78d
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
This commit is contained in:
Satya Durga Srinivasu Prabhala
2020-11-18 07:34:49 -08:00
committed by Quentin Perret
parent ef3d936077
commit ebce8ec6bd
2 changed files with 10 additions and 9 deletions
+3 -3
View File
@@ -43,8 +43,8 @@ DECLARE_RESTRICTED_HOOK(android_rvh_can_migrate_task,
DECLARE_RESTRICTED_HOOK(android_rvh_find_lowest_rq,
TP_PROTO(struct task_struct *p, struct cpumask *local_cpu_mask,
int *lowest_cpu),
TP_ARGS(p, local_cpu_mask, lowest_cpu), 1);
int ret, int *lowest_cpu),
TP_ARGS(p, local_cpu_mask, ret, lowest_cpu), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_prepare_prio_fork,
TP_PROTO(struct task_struct *p),
@@ -87,7 +87,7 @@ DECLARE_HOOK(android_vh_jiffies_update,
#define trace_android_rvh_enqueue_task(rq, p)
#define trace_android_rvh_dequeue_task(rq, p)
#define trace_android_rvh_can_migrate_task(p, dst_cpu, can_migrate)
#define trace_android_rvh_find_lowest_rq(p, local_cpu_mask, lowest_cpu)
#define trace_android_rvh_find_lowest_rq(p, local_cpu_mask, ret, lowest_cpu)
#define trace_android_rvh_prepare_prio_fork(p)
#define trace_android_rvh_finish_prio_fork(p)
#define trace_android_rvh_rtmutex_prepare_setprio(p, pi_task)
+7 -6
View File
@@ -1736,13 +1736,8 @@ static int find_lowest_rq(struct task_struct *task)
struct sched_domain *sd;
struct cpumask *lowest_mask = this_cpu_cpumask_var_ptr(local_cpu_mask);
int this_cpu = smp_processor_id();
int cpu = task_cpu(task);
int cpu = -1;
int ret;
int lowest_cpu = -1;
trace_android_rvh_find_lowest_rq(task, lowest_mask, &lowest_cpu);
if (lowest_cpu >= 0)
return lowest_cpu;
/* Make sure the mask is initialized first */
if (unlikely(!lowest_mask))
@@ -1766,9 +1761,15 @@ static int find_lowest_rq(struct task_struct *task)
task, lowest_mask);
}
trace_android_rvh_find_lowest_rq(task, lowest_mask, ret, &cpu);
if (cpu >= 0)
return cpu;
if (!ret)
return -1; /* No targets found */
cpu = task_cpu(task);
/*
* At this point we have built a mask of CPUs representing the
* lowest priority tasks in the system. Now we want to elect