diff options
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/rt.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index 29bda5b..2f69ca9 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -1988,7 +1988,11 @@ static void watchdog(struct rq *rq, struct task_struct *p) if (soft != RLIM_INFINITY) { unsigned long next; - p->rt.timeout++; + if (p->rt.watchdog_stamp != jiffies) { + p->rt.timeout++; + p->rt.watchdog_stamp = jiffies; + } + next = DIV_ROUND_UP(min(soft, hard), USEC_PER_SEC/HZ); if (p->rt.timeout > next) p->cputime_expires.sched_exp = p->se.sum_exec_runtime; |