diff options
Diffstat (limited to 'kernel/sched/deadline.c')
| -rw-r--r-- | kernel/sched/deadline.c | 3 | 
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 6a73e41a2016..43901fa3f269 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -252,7 +252,6 @@ static void task_non_contending(struct task_struct *p)  	if (dl_entity_is_special(dl_se))  		return; -	WARN_ON(hrtimer_active(&dl_se->inactive_timer));  	WARN_ON(dl_se->dl_non_contending);  	zerolag_time = dl_se->deadline - @@ -269,7 +268,7 @@ static void task_non_contending(struct task_struct *p)  	 * If the "0-lag time" already passed, decrease the active  	 * utilization now, instead of starting a timer  	 */ -	if (zerolag_time < 0) { +	if ((zerolag_time < 0) || hrtimer_active(&dl_se->inactive_timer)) {  		if (dl_task(p))  			sub_running_bw(dl_se, dl_rq);  		if (!dl_task(p) || p->state == TASK_DEAD) {  |