2.5.44 CSA, Job, and PAGG
PATCH 1/1 2.5.44 CSA, Job, and PAGG
2.5.44 versions of CSA, Job, and PAGG patches are available at:
ftp://oss.sgi.com/projects/pagg/download/linux-2.5.44-pagg.patch
ftp://oss.sgi.com/projects/pagg/download/linux-2.5.44-job.patch
ftp://oss.sgi.com/projects/csa/download/linux-2.5.44-csa.patchApply them in that order.
The CSA and job user-level code is in the same directories.
CSA (Comprehensive System Accounting) provides methods for collecting per-process resource usage data, monitoring disk usage, and charging fees to specific login accounts. CSA provides features which are not available with the other Linux accounting packages. For more information, see:
http://oss.sgi.com/projects/csa/
Linux Jobs is an inescapable process container that is typically created by point of entry processes like login, and inherited by children. PAGG (Process Aggregates) is a generic framework for implementing process containers such as Linux Jobs. For more information, see:
http://oss.sgi.com/projects/pagg/
CSA depends on Linux Jobs, and Linux Jobs depends on PAGG.
diffstat linux-2.5.44-pagg.patch
Documentation/pagg.txt | 148 +++++++++++++++++ include/linux/init_task.h | 4 include/linux/pagg.h | 216 +++++++++++++++++++++++++ include/linux/sched.h | 4 init/Config.help | 6 init/Config.in | 1 kernel/Makefile | 3 kernel/exit.c | 4 kernel/fork.c | 11 + kernel/pagg.c | 396 ++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 792 insertions(+), 1 deletion(-)
diffstat linux-2.5.44-job.patch
Documentation/job.txt | 434 ++++++++++ include/linux/job.h | 250 ++++++ init/Config.help | 22 init/Config.in | 3 kernel/Makefile | 3 kernel/job.c | 2001 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 2712 insertions(+), 1 deletion(-)
diffstat linux-2.5.44-csa.patch
drivers/block/ll_rw_blk.c | 4 fs/exec.c | 4 fs/read_write.c | 25 include/linux/csa.h | 518 ++++++++++++++ include/linux/csa_internal.h | 84 ++ include/linux/sched.h | 20 init/Config.help | 19 init/Config.in | 1 kernel/Makefile | 1 kernel/csa_job_acct.c | 1582 +++++++++++++++++++++++++++++++++++++++++++ kernel/exit.c | 7 kernel/fork.c | 8 kernel/ksyms.c | 4 mm/memory.c | 18 mm/mmap.c | 10 mm/mremap.c | 8 mm/rmap.c | 3 mm/swapfile.c | 4 18 files changed, 2317 insertions(+), 3 deletions(-)
John Hesterberg and Robin Holt
I see the struct acctcsa has a ac_prid.. Are you planning on adding project level accounting to linux, or is this just leftovers from IRIX?
I'm not familiar with CSA, but have some experience with using the IRIX system audit trail for accounting (satd). satd isn't handling the accounting very well when we get hard hangs or power outages, and no end-of-job record is written. Then we have no account for the cpu-usage of the non-finished jobs at the time.
Does CSA handle this better, or is it still depending on jobs being finished before writing any accounting records? (a way telling it to log periodic intermidiate accounting records would be nice)
-jf
Quoted 3 lines · Jan-Frode Myklebust
I see the struct acctcsa has a
ac_prid.. Are you planning on adding project level accounting to linux, or is this just leftovers from IRIX?
This is. I retain the hope that someone will implement project based accounting. Currently, most of the CSA users on Linux are using it for system tuning. The users tend to be people trained in using CSA on Irix as one tuning tool and have carried that experience over to Linux.
Quoted 10 lines
I'm not familiar with CSA, but have some experience with using the IRIX system audit trail for accounting (satd). satd isn't handling the accounting very well when we get hard hangs or power outages, and no end-of-job record is written. Then we have no account for the cpu-usage of the non-finished jobs at the time.
Does CSA handle this better, or is it still depending on jobs being finished before writing any accounting records? (a way telling it to log periodic intermidiate accounting records would be nice)
Both the job and process accounting record are only generated on process termination. The same problems will exist.
Robin Holt