perf: Take a hot regs snapshot for trace events
[firefly-linux-kernel-4.4.55.git] / kernel / sched_rt.c
index bf3e38fdbe6dc6ca0160d7f408881525928da21a..5a6ed1f0990a5cd5f128d4f61cd8522a40ff3466 100644 (file)
@@ -1662,8 +1662,9 @@ static void watchdog(struct rq *rq, struct task_struct *p)
        if (!p->signal)
                return;
 
-       soft = p->signal->rlim[RLIMIT_RTTIME].rlim_cur;
-       hard = p->signal->rlim[RLIMIT_RTTIME].rlim_max;
+       /* max may change after cur was read, this will be fixed next tick */
+       soft = task_rlimit(p, RLIMIT_RTTIME);
+       hard = task_rlimit_max(p, RLIMIT_RTTIME);
 
        if (soft != RLIM_INFINITY) {
                unsigned long next;