aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/deadline.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/deadline.c')
-rw-r--r--kernel/sched/deadline.c3
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)
252 if (dl_entity_is_special(dl_se)) 252 if (dl_entity_is_special(dl_se))
253 return; 253 return;
254 254
255 WARN_ON(hrtimer_active(&dl_se->inactive_timer));
256 WARN_ON(dl_se->dl_non_contending); 255 WARN_ON(dl_se->dl_non_contending);
257 256
258 zerolag_time = dl_se->deadline - 257 zerolag_time = dl_se->deadline -
@@ -269,7 +268,7 @@ static void task_non_contending(struct task_struct *p)
269 * If the "0-lag time" already passed, decrease the active 268 * If the "0-lag time" already passed, decrease the active
270 * utilization now, instead of starting a timer 269 * utilization now, instead of starting a timer
271 */ 270 */
272 if (zerolag_time < 0) { 271 if ((zerolag_time < 0) || hrtimer_active(&dl_se->inactive_timer)) {
273 if (dl_task(p)) 272 if (dl_task(p))
274 sub_running_bw(dl_se, dl_rq); 273 sub_running_bw(dl_se, dl_rq);
275 if (!dl_task(p) || p->state == TASK_DEAD) { 274 if (!dl_task(p) || p->state == TASK_DEAD) {