diff --git a/kernel/sched/core.c b/kernel/sched/core.c index e996da944892..0d9deb8d97c1 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6971,6 +6971,8 @@ int sched_cpu_activate(unsigned int cpu) } rq_unlock_irqrestore(rq, &rf); + update_max_interval(); + return 0; } @@ -7005,6 +7007,9 @@ int sched_cpu_deactivate(unsigned int cpu) return ret; } sched_domains_numa_masks_clear(cpu); + + update_max_interval(); + return 0; } @@ -7013,7 +7018,6 @@ static void sched_rq_cpu_starting(unsigned int cpu) struct rq *rq = cpu_rq(cpu); rq->calc_load_update = calc_load_update; - update_max_interval(); } int sched_cpu_starting(unsigned int cpu) @@ -7045,7 +7049,6 @@ int sched_cpu_dying(unsigned int cpu) trace_android_rvh_sched_cpu_dying(cpu); calc_load_migrate(rq); - update_max_interval(); nohz_balance_exit_idle(rq); hrtick_clear(rq); return 0; diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 55247a7ee755..b28920c1bf8c 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10033,7 +10033,7 @@ static DEFINE_SPINLOCK(balancing); */ void update_max_interval(void) { - max_load_balance_interval = HZ*num_online_cpus()/10; + max_load_balance_interval = HZ*num_active_cpus()/10; } /*