2002-10-23 19:47:44

by John Hesterberg

[permalink] [raw]
Subject: [PATCH] 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.patch
Apply 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


2002-10-23 21:14:31

by Jan-Frode Myklebust

[permalink] [raw]
Subject: Re: [PATCH] 2.5.44 CSA, Job, and PAGG

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

2002-10-23 21:28:52

by Robin Holt

[permalink] [raw]
Subject: Re: [PATCH] 2.5.44 CSA, Job, and PAGG

On Wed, 23 Oct 2002, Jan-Frode Myklebust wrote:

> 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.

>
> 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