|
@@ -2052,7 +2052,7 @@ static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
|
|
hrtimer_cancel(&cfs_b->slack_timer);
|
|
hrtimer_cancel(&cfs_b->slack_timer);
|
|
}
|
|
}
|
|
|
|
|
|
-void unthrottle_offline_cfs_rqs(struct rq *rq)
|
|
|
|
|
|
+static void unthrottle_offline_cfs_rqs(struct rq *rq)
|
|
{
|
|
{
|
|
struct cfs_rq *cfs_rq;
|
|
struct cfs_rq *cfs_rq;
|
|
|
|
|
|
@@ -2106,7 +2106,7 @@ static inline struct cfs_bandwidth *tg_cfs_bandwidth(struct task_group *tg)
|
|
return NULL;
|
|
return NULL;
|
|
}
|
|
}
|
|
static inline void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
|
|
static inline void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {}
|
|
-void unthrottle_offline_cfs_rqs(struct rq *rq) {}
|
|
|
|
|
|
+static inline void unthrottle_offline_cfs_rqs(struct rq *rq) {}
|
|
|
|
|
|
#endif /* CONFIG_CFS_BANDWIDTH */
|
|
#endif /* CONFIG_CFS_BANDWIDTH */
|
|
|
|
|
|
@@ -3658,7 +3658,6 @@ fix_small_capacity(struct sched_domain *sd, struct sched_group *group)
|
|
* @group: sched_group whose statistics are to be updated.
|
|
* @group: sched_group whose statistics are to be updated.
|
|
* @load_idx: Load index of sched_domain of this_cpu for load calc.
|
|
* @load_idx: Load index of sched_domain of this_cpu for load calc.
|
|
* @local_group: Does group contain this_cpu.
|
|
* @local_group: Does group contain this_cpu.
|
|
- * @cpus: Set of cpus considered for load balancing.
|
|
|
|
* @balance: Should we balance.
|
|
* @balance: Should we balance.
|
|
* @sgs: variable to hold the statistics for this group.
|
|
* @sgs: variable to hold the statistics for this group.
|
|
*/
|
|
*/
|
|
@@ -3805,7 +3804,6 @@ static bool update_sd_pick_busiest(struct lb_env *env,
|
|
/**
|
|
/**
|
|
* update_sd_lb_stats - Update sched_domain's statistics for load balancing.
|
|
* update_sd_lb_stats - Update sched_domain's statistics for load balancing.
|
|
* @env: The load balancing environment.
|
|
* @env: The load balancing environment.
|
|
- * @cpus: Set of cpus considered for load balancing.
|
|
|
|
* @balance: Should we balance.
|
|
* @balance: Should we balance.
|
|
* @sds: variable to hold the statistics for this sched_domain.
|
|
* @sds: variable to hold the statistics for this sched_domain.
|
|
*/
|
|
*/
|
|
@@ -4956,6 +4954,9 @@ static void rq_online_fair(struct rq *rq)
|
|
static void rq_offline_fair(struct rq *rq)
|
|
static void rq_offline_fair(struct rq *rq)
|
|
{
|
|
{
|
|
update_sysctl();
|
|
update_sysctl();
|
|
|
|
+
|
|
|
|
+ /* Ensure any throttled groups are reachable by pick_next_task */
|
|
|
|
+ unthrottle_offline_cfs_rqs(rq);
|
|
}
|
|
}
|
|
|
|
|
|
#endif /* CONFIG_SMP */
|
|
#endif /* CONFIG_SMP */
|