]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - kernel/sched_rt.c
timers: fix itimer/many thread hang
[net-next-2.6.git] / kernel / sched_rt.c
index 552310798dadf13e3b2059d5f84e050f7e0926e2..8375e69af36a75439cfab472a355c4fb726b12a6 100644 (file)
@@ -483,6 +483,8 @@ static void update_curr_rt(struct rq *rq)
        schedstat_set(curr->se.exec_max, max(curr->se.exec_max, delta_exec));
 
        curr->se.sum_exec_runtime += delta_exec;
+       account_group_exec_runtime(curr, delta_exec);
+
        curr->se.exec_start = rq->clock;
        cpuacct_charge(curr, delta_exec);
 
@@ -1412,7 +1414,7 @@ static void watchdog(struct rq *rq, struct task_struct *p)
                p->rt.timeout++;
                next = DIV_ROUND_UP(min(soft, hard), USEC_PER_SEC/HZ);
                if (p->rt.timeout > next)
-                       p->it_sched_expires = p->se.sum_exec_runtime;
+                       p->cputime_expires.sched_exp = p->se.sum_exec_runtime;
        }
 }