2005-03-09 13:26:23

by Guillaume Thouvenin

[permalink] [raw]
Subject: I/O and Memory accounting...

Hello,

In the ChangeLog-2.6.11 file I read that the enhanced I/O accounting
data patch and the enhanced memory accounting data collection patch were
added. It's cool but I don't see how this stuff is used because
information is never dump in a file or send to an accounting application
(or I miss something).

Maybe we should update the ac_io in the "struct acct"? Thus, values
will be dump in the accounting file. Maybe it could be something like:

--- acct.c.orig 2005-03-09 14:17:07.000000000 +0100
+++ acct.c 2005-03-09 14:18:20.000000000 +0100
@@ -477,8 +477,8 @@ static void do_acct_process(long exitcod
}
vsize = vsize / 1024;
ac.ac_mem = encode_comp_t(vsize);
- ac.ac_io = encode_comp_t(0 /* current->io_usage */); /* %% */
- ac.ac_rw = encode_comp_t(ac.ac_io / 1024);
+ ac.ac_io = encode_comp_t(current->rchar + current->wchar);
+ ac.ac_rw = encode_comp_t(0);
ac.ac_minflt = encode_comp_t(current->signal->min_flt +
current->group_leader->min_flt);
ac.ac_majflt = encode_comp_t(current->signal->maj_flt +


For memory and read/write syscall we may add new fields.

Best regards,
Guillaume


2005-03-09 18:28:32

by Jay Lan

[permalink] [raw]
Subject: Re: I/O and Memory accounting...

I thought you planned to read from CSA pacct file?

Well, while we are in discussion of whether to merge and
replace BSD accounting with CSA accounting, your proposed
change will provide you data on charater I/O in a BSD pacct
file. I supposed you do not need to have seperate fields on
character-read and character-written? CSA will provide the
data separately.

CSA writes the data to a CSA pacct file in a similar way as
BSD on exit callback at do_acct_process(). The CSA's exit
callback is implemented as a loadable module. The CSA
project and code can be downloaded at
http://oss.sgi.com/projects/csa.

Cheers,
- jay


Guillaume Thouvenin wrote:
> Hello,
>
> In the ChangeLog-2.6.11 file I read that the enhanced I/O accounting
> data patch and the enhanced memory accounting data collection patch were
> added. It's cool but I don't see how this stuff is used because
> information is never dump in a file or send to an accounting application
> (or I miss something).
>
> Maybe we should update the ac_io in the "struct acct"? Thus, values
> will be dump in the accounting file. Maybe it could be something like:
>
> --- acct.c.orig 2005-03-09 14:17:07.000000000 +0100
> +++ acct.c 2005-03-09 14:18:20.000000000 +0100
> @@ -477,8 +477,8 @@ static void do_acct_process(long exitcod
> }
> vsize = vsize / 1024;
> ac.ac_mem = encode_comp_t(vsize);
> - ac.ac_io = encode_comp_t(0 /* current->io_usage */); /* %% */
> - ac.ac_rw = encode_comp_t(ac.ac_io / 1024);
> + ac.ac_io = encode_comp_t(current->rchar + current->wchar);
> + ac.ac_rw = encode_comp_t(0);
> ac.ac_minflt = encode_comp_t(current->signal->min_flt +
> current->group_leader->min_flt);
> ac.ac_majflt = encode_comp_t(current->signal->maj_flt +
>
>
> For memory and read/write syscall we may add new fields.
>
> Best regards,
> Guillaume
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/