ANDROID: sched: Add vendor hooks for find_energy_efficient_cpu
Add hooks for vendor specific find_energy_efficient_cpu logic. Bug: 170507310 Signed-off-by: Rick Yiu <rickyiu@google.com> Change-Id: I064b501017e32d4f22f8128bed8bf3a1508ab15b (cherry picked from commit 2f108e2ec6e89609cbae32c5d13d6ad9f2e858cb) Signed-off-by: Will McVicker <willmcvicker@google.com>
This commit is contained in:
@@ -80,3 +80,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_newidle_balance);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_nohz_balancer_kick);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_queue);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_migrate_queued_task);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_energy_efficient_cpu);
|
||||
|
||||
@@ -101,6 +101,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_migrate_queued_task,
|
||||
struct task_struct *p, int new_cpu,
|
||||
int *detached),
|
||||
TP_ARGS(rq, rf, p, new_cpu, detached), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_find_energy_efficient_cpu,
|
||||
TP_PROTO(struct task_struct *p, int prev_cpu, int sync, int *new_cpu),
|
||||
TP_ARGS(p, prev_cpu, sync, new_cpu), 1);
|
||||
#else
|
||||
#define trace_android_rvh_select_task_rq_fair(p, prev_cpu, sd_flag, wake_flags, new_cpu)
|
||||
#define trace_android_rvh_select_task_rq_rt(p, prev_cpu, sd_flag, wake_flags, new_cpu)
|
||||
@@ -122,6 +126,7 @@ DECLARE_RESTRICTED_HOOK(android_rvh_migrate_queued_task,
|
||||
#define trace_android_rvh_sched_nohz_balancer_kick(rq, flags, done)
|
||||
#define trace_android_rvh_find_busiest_queue(dst_cpu, group, env_cpus, busiest, done)
|
||||
#define trace_android_rvh_migrate_queued_task(rq, rf, p, new_cpu, detached)
|
||||
#define trace_android_rvh_find_energy_efficient_cpu(p, prev_cpu, sync, new_cpu)
|
||||
#endif
|
||||
#endif /* _TRACE_HOOK_SCHED_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -6592,6 +6592,11 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy
|
||||
struct cpuidle_state *idle;
|
||||
struct sched_domain *sd;
|
||||
struct perf_domain *pd;
|
||||
int new_cpu = INT_MAX;
|
||||
|
||||
trace_android_rvh_find_energy_efficient_cpu(p, prev_cpu, sync, &new_cpu);
|
||||
if (new_cpu != INT_MAX)
|
||||
return new_cpu;
|
||||
|
||||
rcu_read_lock();
|
||||
pd = rcu_dereference(rd->pd);
|
||||
|
||||
Reference in New Issue
Block a user