mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
ANDROID: sched: add rvh for rebalance domains
Vendor scheduler may not want to rebalance between domains in some case. New vendor hook is added for vendor to decide whether rebalance domains. Bug: 176952463 Change-Id: Ie2edbd4b11679786096dd0170496904ae180583c Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
This commit is contained in:
committed by
Quentin Perret
parent
88b7cf0b5b
commit
ca6883251a
@@ -87,6 +87,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_resume_epoch_val);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_table_limits);
|
||||
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_sched_rebalance_domains);
|
||||
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);
|
||||
|
||||
@@ -93,6 +93,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_sched_nohz_balancer_kick,
|
||||
TP_PROTO(struct rq *rq, unsigned int *flags, int *done),
|
||||
TP_ARGS(rq, flags, done), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_sched_rebalance_domains,
|
||||
TP_PROTO(struct rq *rq, int *continue_balancing),
|
||||
TP_ARGS(rq, continue_balancing), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_find_busiest_queue,
|
||||
TP_PROTO(int dst_cpu, struct sched_group *group,
|
||||
struct cpumask *env_cpus, struct rq **busiest,
|
||||
|
||||
@@ -10330,6 +10330,10 @@ static void rebalance_domains(struct rq *rq, enum cpu_idle_type idle)
|
||||
int need_serialize, need_decay = 0;
|
||||
u64 max_cost = 0;
|
||||
|
||||
trace_android_rvh_sched_rebalance_domains(rq, &continue_balancing);
|
||||
if (!continue_balancing)
|
||||
return;
|
||||
|
||||
rcu_read_lock();
|
||||
for_each_domain(cpu, sd) {
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user