diff options
| author | KaiGai Kohei <[email protected]> | 2006-06-25 05:49:26 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2006-06-25 10:01:25 -0700 |
| commit | 77787bfb44da6e6166af088226707aeccee27968 (patch) | |
| tree | ada770c2f4f2d913c8f96f2eec3125d4cfb22011 /include/linux | |
| parent | f6ec29a42d7ac3b309a9cef179b686d23986ab98 (diff) | |
[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.
[[email protected]: fix acct_collect() siglock bug found by lockdep]
Signed-off-by: KaiGai Kohei <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux')
| -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; }; /* |