aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-02-05 06:24:15 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-05 07:04:33 -0500
commit32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0 (patch)
tree591c941b9f12ce9f3caefd112f0ada3c5fcc53ab /include
parent83895147b702434e6f236deeca75211fd0e3da3a (diff)
signal: re-add dead task accumulation stats.
We're going to split the process wide cpu accounting into two parts: - clocks; which can take all the time they want since they run from user context. - timers; which need constant time tracing but can affort the overhead because they're default off -- and rare. The clock readout will go back to a full sum of the thread group, for this we need to re-add the exit stats that were removed in the initial itimer rework (f06febc9: timers: fix itimer/many thread hang). Furthermore, since that full sum can be rather slow for large thread groups and we have the complete dead task stats, revert the do_notify_parent time computation. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Reviewed-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/linux/sched.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2127e959e0f4..2e0646a30314 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -559,7 +559,7 @@ struct signal_struct {
559 * Live threads maintain their own counters and add to these 559 * Live threads maintain their own counters and add to these
560 * in __exit_signal, except for the group leader. 560 * in __exit_signal, except for the group leader.
561 */ 561 */
562 cputime_t cutime, cstime; 562 cputime_t utime, stime, cutime, cstime;
563 cputime_t gtime; 563 cputime_t gtime;
564 cputime_t cgtime; 564 cputime_t cgtime;
565 unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw; 565 unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw;
@@ -568,6 +568,14 @@ struct signal_struct {
568 struct task_io_accounting ioac; 568 struct task_io_accounting ioac;
569 569
570 /* 570 /*
571 * Cumulative ns of schedule CPU time fo dead threads in the
572 * group, not including a zombie group leader, (This only differs
573 * from jiffies_to_ns(utime + stime) if sched_clock uses something
574 * other than jiffies.)
575 */
576 unsigned long long sum_sched_runtime;
577
578 /*
571 * We don't bother to synchronize most readers of this at all, 579 * We don't bother to synchronize most readers of this at all,
572 * because there is no reader checking a limit that actually needs 580 * because there is no reader checking a limit that actually needs
573 * to get both rlim_cur and rlim_max atomically, and either one 581 * to get both rlim_cur and rlim_max atomically, and either one