diff options
author | KaiGai Kohei <kaigai@ak.jp.nec.com> | 2006-06-25 16:49:26 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 21:01:25 +0400 |
commit | 77787bfb44da6e6166af088226707aeccee27968 (patch) | |
tree | ada770c2f4f2d913c8f96f2eec3125d4cfb22011 /include | |
parent | f6ec29a42d7ac3b309a9cef179b686d23986ab98 (diff) | |
download | linux-77787bfb44da6e6166af088226707aeccee27968.tar.xz |
[PATCH] pacct: none-delayed process accounting accumulation
In current 2.6.17 implementation, signal_struct refered from task_struct is
used for per-process data structure. The pacct facility also uses it as a
per-process data structure to store stime, utime, minflt, majflt. But those
members are saved in __exit_signal(). It's too late.
For example, if some threads exits at same time, pacct facility has a
possibility to drop accountings for a part of those threads. (see, the
following 'The results of original 2.6.17 kernel') I think accounting
information should be completely collected into the per-process data structure
before writing out an accounting record.
This patch fixes this matter. Accumulation of stime, utime, minflt and majflt
are done before generating accounting record.
[mingo@elte.hu: fix acct_collect() siglock bug found by lockdep]
Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index d8429dc250f0..8d11d9310db0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -362,6 +362,8 @@ struct pacct_struct { int ac_flag; long ac_exitcode; unsigned long ac_mem; + cputime_t ac_utime, ac_stime; + unsigned long ac_minflt, ac_majflt; }; /* |