浏览代码

Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()
Linus Torvalds 15 年之前
父节点
当前提交
2e9b11afdb
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      kernel/posix-cpu-timers.c

+ 4 - 3
kernel/posix-cpu-timers.c

@@ -521,11 +521,12 @@ void posix_cpu_timers_exit(struct task_struct *tsk)
 }
 }
 void posix_cpu_timers_exit_group(struct task_struct *tsk)
 void posix_cpu_timers_exit_group(struct task_struct *tsk)
 {
 {
-	struct task_cputime cputime;
+	struct signal_struct *const sig = tsk->signal;
 
 
-	thread_group_cputimer(tsk, &cputime);
 	cleanup_timers(tsk->signal->cpu_timers,
 	cleanup_timers(tsk->signal->cpu_timers,
-		       cputime.utime, cputime.stime, cputime.sum_exec_runtime);
+		       cputime_add(tsk->utime, sig->utime),
+		       cputime_add(tsk->stime, sig->stime),
+		       tsk->se.sum_exec_runtime + sig->sum_sched_runtime);
 }
 }
 
 
 static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)
 static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)