All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jay Lan <jlan@engr.sgi.com>
To: balbir@in.ibm.com
Cc: Shailabh Nagar <nagar@watson.ibm.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	LSE <lse-tech@lists.sourceforge.net>
Subject: Re: [Lse-tech] Re: [Patch 5/8] taskstats interface
Date: Fri, 28 Apr 2006 11:20:21 -0700	[thread overview]
Message-ID: <44525CE5.3060800@engr.sgi.com> (raw)
In-Reply-To: <20060428025927.GD14496@in.ibm.com>

Balbir Singh wrote:
>>If we envision a need of it in the future, we'd better put it in
>>today. It would be nice to have the revision number at beginning of
>>the struct. Shailabh's instruction says to add new field after existing
>>fields.
>>
>>    
>
>Yes, true. It does not hurt to have a version number for taskstats.
>I will add it in.
>
><snip>
> 
>  
>>I am sorry that i did not make myself clear. My suggestion of using
>>the bitmask payload info is to be combined with #ifdef CONFIG_* to
>>eliminate unnecessary fields from the traffic. I am concerned about
>>losing data due to application not reading data fast enough.
>>
>>Well, we can revisit this suggestion when we start losing data
>>though. ;-)
>>    
>
>Like Shailabh said #ifdef CONFIG_* adds complexity for userspace parsing
>of the structure, but if it helps avoid sending unnecessary data we
>can consider using that approach. 
>
>Would something like the structure below be useful?
>
>struct csastats {
>#if defined(CONFIG_CSA) || defined(CONFIG_CSA_MODULE)
>       char    acctent[sizeof(struct acctcsa) +
>                       sizeof(struct acctmem) +
>                       sizeof(struct acctio)];
>       int     filled;
>#endif
>};
>
>The filled member can be a bool or an int to indicate that the structure
>contains meaningful data and the CONFIG_* is used to control the
>inclusion of meaningful fields. Instead of using a bitmap we use
>the filled member.
>
>Is this what you had in mind?
>  
No exactly. The payload information must be always available for
application.

On a second thought, the idea of one big taskstats struct with many
#ifconfig is not really a good idea. My goal is to cut down unnecessary
data being transfered throught the socket.

Here is my Take 2. We can have a  taskstats header containing taskstats
version and other general fields useful to more than one taskstats
application including a payload information. Then, we define
accounting subsystem specific structs for delayacct, csa, etc.
The kernel/{delayacct.c,csa.c,etc.c} set the payload information and
fill the buffer with desired subsystem structs. The header thus contain
enough information to tell  applications how to map the data following
the header.

Would IBM propose more accounting subsystems besides delayacct?
If we only see delayacct and csa on the horizon, this scheme is really
not necessary since delayacct does not have as much data (as csa :))
and csa can use part of the delayacct data. You gain more than
csa can benefit from this. ;-) I guess i just speak from design point
of view. :)

But, if one day somebody who does not need a paycheck decides
to convert BSD accounting to use taskstats interface, this can
be helpful.

Thanks,
 - jay




  reply	other threads:[~2006-04-28 18:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-22  2:16 [Patch 0/8] per-task delay accounting Shailabh Nagar
2006-04-22  2:23 ` [Patch 1/8] Setup Shailabh Nagar
2006-04-24  2:02   ` Randy.Dunlap
2006-04-24 17:26     ` Shailabh Nagar
2006-04-22  2:29 ` [Patch 2/8] Sync block I/O and swapin delay collection Shailabh Nagar
2006-04-22  2:33 ` [Patch 3/8] cpu delay collection via schedstats Shailabh Nagar
2006-04-22  2:35 ` [Patch 4/8] Utilities for genetlink usage Shailabh Nagar
2006-04-22  2:35   ` Shailabh Nagar
2006-04-22  2:37 ` [Patch 5/8] taskstats interface Shailabh Nagar
2006-04-27  1:12   ` Jay Lan
2006-04-27  4:00     ` Shailabh Nagar
2006-04-27  6:42       ` [Lse-tech] " Balbir Singh
2006-04-27 17:52         ` Jay Lan
2006-04-27 18:27           ` Balbir Singh
2006-04-27 19:34             ` Jay Lan
2006-04-28  2:59               ` Balbir Singh
2006-04-28 18:20                 ` Jay Lan [this message]
2006-04-28 18:35                   ` Balbir Singh
2006-04-22  2:39 ` [Patch 6/8] delay accounting usage of " Shailabh Nagar
2006-04-22  2:40 ` [Patch 7/8] documentation Shailabh Nagar
2006-04-22  2:42 ` [Patch 8/8] /proc export of aggregated block I/O delays Shailabh Nagar
2006-04-22  7:46   ` [Lse-tech] " Andi Kleen
2006-04-25 15:07 ` [Patch 0/8] per-task delay accounting Shailabh Nagar

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=44525CE5.3060800@engr.sgi.com \
    --to=jlan@engr.sgi.com \
    --cc=balbir@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=nagar@watson.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.