diff options
Diffstat (limited to 'kernel/sched/fair.c')
| -rw-r--r-- | kernel/sched/fair.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index df2cdf77f899..40667cbf371b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4005,6 +4005,10 @@ void __start_cfs_bandwidth(struct cfs_bandwidth *cfs_b, bool force)  static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)  { +	/* init_cfs_bandwidth() was not called */ +	if (!cfs_b->throttled_cfs_rq.next) +		return; +  	hrtimer_cancel(&cfs_b->period_timer);  	hrtimer_cancel(&cfs_b->slack_timer);  } @@ -4424,7 +4428,7 @@ static long effective_load(struct task_group *tg, int cpu, long wl, long wg)  		 * wl = S * s'_i; see (2)  		 */  		if (W > 0 && w < W) -			wl = (w * tg->shares) / W; +			wl = (w * (long)tg->shares) / W;  		else  			wl = tg->shares; | 
