linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jay Lan <jlan@sgi.com>
To: Kaigai Kohei <kaigai@ak.jp.nec.com>
Cc: Andrew Morton <akpm@osdl.org>,
	lse-tech@lists.sourceforge.net, linux-kernel@vger.kernel.org,
	guillaume.thouvenin@bull.net, tim@physik3.uni-rostock.de,
	erikj@subway.americas.sgi.com, limin@dbear.engr.sgi.com,
	Jesse Barnes <jbarnes@sgi.com>
Subject: Re: [Lse-tech] Re: A common layer for Accounting packages
Date: Tue, 22 Feb 2005 12:26:02 -0800	[thread overview]
Message-ID: <421B955A.9060000@sgi.com> (raw)
In-Reply-To: <421993A2.4020308@ak.jp.nec.com>

Kaigai Kohei wrote:
> Hello, everyone.
> 
> Andrew Morton wrote:
>  > Jay Lan <jlan@sgi.com> wrote:
>  >
>  >>Since the need of Linux system accounting has gone beyond what BSD
>  >>accounting provides, i think it is a good idea to create a thin layer
>  >>of common code for various accounting packages, such as BSD accounting,
>  >>CSA, ELSA, etc. The hook to do_exit() at exit.c was changed to invoke
>  >>a routine in the common code which would then invoke those accounting
>  >>packages that register to the acct_common to handle do_exit situation.
>  >
>  >
>  > This all seems to be heading in the wrong direction.  Do we really 
> want to
>  > have lots of different system accounting packages all hooking into a
>  > generic we-cant-decide-what-to-do-so-we-added-some-pointless-overhead
>  > framework?
>  >
>  > Can't we get _one_ accounting system in there, get it right, avoid the
>  > framework?
> 
> I think there are two issues about system accounting framework.
> 
> Issue: 1) How to define the appropriate unit for accounting ?
> Current BSD-accountiong make a collection per process accounting 
> information.
> CSA make additionally a collection per process-aggregation accounting.

The 'enhanced acct data collection' patches that were added to
2-6-11-rc* tree still do collection of per process data.

CSA added those per-process data to per-aggregation ("job") data
structure at do_exit() time when a process termintes.

> 
> It is appropriate to make the fork-exit event handling framework for 
> definition
> of the process-aggregation, such as PAGG.
> 
> This system-accounting per process-aggregation is quite useful,
> thought I tried the SGI's implementation named 'job' in past days.
> 
> 
> Issue: 2) What items should be collected for accounting information ?
> BSD-accounting collects PID/UID/GID, User/Sys/Elapsed-Time, and # of
> minor/major page faults. SGI's CSA collects VM/RSS size on exit time,
> Integral-VM/RSS, and amount of block-I/O additionally.

These data are now collected in 2.6.11-rc* code. Note that these data
are still per-process.

> 
> I think it's hard to implement the accounting-engine as a kernel loadable
> module using any kinds of framework. Because, we must put callback 
> functions
> into all around the kernel for this purpose.
> 
> Thus, I make a proposion as follows:
> We should separate the process-aggregation functionality and collecting
> accounting informations.

I totally agree with this! Actually that was what we have done. The data
collection part of code has been unified.

> Something of framework to implement process-aggregation is necessary.
> And, making a collection of accounting information should be merged
> into BSD-accounting and implemented as a part of monolithic kernel
> as Guillaume said.

This sounds good. I am interested in learning how ELSA saves off
the per-process accounting data before the data got disposed. If
that scheme works for CSA, we would be very happy to adopt the
scheme. The current BSD scheme is very insufficient. The code is
very BSD centric and it provides no way to handle process-aggregation.

Thanks,
  - jay

> 
> Thanks.


  reply	other threads:[~2005-02-22 20:26 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-19  0:51 A common layer for Accounting packages Jay Lan
2005-02-19  1:16 ` Andrew Morton
2005-02-21  6:51   ` Guillaume Thouvenin
2005-02-22 20:11     ` [Lse-tech] " Jay Lan
2005-02-23  7:30       ` Guillaume Thouvenin
2005-02-21  7:54   ` Kaigai Kohei
2005-02-22 20:26     ` Jay Lan [this message]
2005-02-23  7:07       ` Kaigai Kohei
2005-02-23  7:20         ` Andrew Morton
2005-02-23  8:33           ` Guillaume Thouvenin
2005-02-23  8:51             ` Andrew Morton
2005-02-23  9:30               ` Guillaume Thouvenin
2005-02-23  9:36                 ` Andrew Morton
2005-02-23 19:11             ` Jay Lan
2005-02-24  7:42               ` Guillaume Thouvenin
2005-02-23  9:50           ` Tim Schmielau
2005-02-24 22:27             ` Jay Lan
2005-02-23 11:29           ` Kaigai Kohei
2005-02-23 20:48         ` Jay Lan
2005-02-25  5:07           ` Kaigai Kohei
2005-02-25  5:28             ` Andrew Morton
2005-02-25 17:32               ` Jay Lan
2005-02-25 17:45                 ` Chris Wright
2005-02-25 18:11                   ` Jay Lan
2005-02-25 21:30                 ` Andrew Morton
2005-02-25 22:18                   ` Jay Lan
2005-02-27  9:49               ` Marcelo Tosatti
2005-02-27 15:20                 ` KaiGai Kohei
2005-02-27 14:03                   ` Marcelo Tosatti
2005-02-27 19:27                     ` David S. Miller
2005-02-28  1:59                     ` Kaigai Kohei
2005-02-28  2:32                       ` Thomas Graf
2005-02-28  5:17                       ` Evgeniy Polyakov
2005-02-28  7:20                       ` Guillaume Thouvenin
2005-02-28  7:39                         ` Andrew Morton
2005-02-28  8:04                           ` Evgeniy Polyakov
2005-02-28 12:10                           ` jamal
2005-02-28  9:29                             ` Marcelo Tosatti
2005-02-28 13:20                             ` Thomas Graf
2005-02-28 13:40                               ` jamal
2005-02-28 13:53                                 ` Thomas Graf
2005-02-28  9:52                                   ` Marcelo Tosatti
2005-02-28 14:10                                   ` jamal
2005-02-28 14:25                                     ` Thomas Graf
2005-02-28 15:31                                       ` jamal
2005-02-28 16:17                                         ` Evgeniy Polyakov
2005-03-01  8:21                                           ` Guillaume Thouvenin
2005-03-01 13:38                                             ` Kaigai Kohei
2005-03-01 13:53                                               ` Guillaume Thouvenin
2005-03-01 14:17                                                 ` Evgeniy Polyakov
2005-03-02  4:50                                               ` Paul Jackson
2005-03-02  8:58                                               ` Guillaume Thouvenin
2005-03-02  9:06                                                 ` Andrew Morton
2005-03-02  9:25                                                   ` Guillaume Thouvenin
2005-03-02 15:30                                                   ` Paul Jackson
2005-03-01 20:40                             ` Paul Jackson
2005-02-24  1:25         ` Paul Jackson
2005-02-24  1:56           ` Jay Lan
2005-02-24  2:07             ` Paul Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=421B955A.9060000@sgi.com \
    --to=jlan@sgi.com \
    --cc=akpm@osdl.org \
    --cc=erikj@subway.americas.sgi.com \
    --cc=guillaume.thouvenin@bull.net \
    --cc=jbarnes@sgi.com \
    --cc=kaigai@ak.jp.nec.com \
    --cc=limin@dbear.engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=tim@physik3.uni-rostock.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).