linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Jay Lan <jlan@engr.sgi.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	LSE <lse-tech@lists.sourceforge.net>
Subject: Re: [Patch 5/8] taskstats interface
Date: Thu, 27 Apr 2006 00:00:43 -0400	[thread overview]
Message-ID: <445041EB.7080205@watson.ibm.com> (raw)
In-Reply-To: <44501A97.2060104@engr.sgi.com>

Jay Lan wrote:

>Hi Shailabh,
>
>Thanks for your effort in taskstats interface! Really appreciated!
>I think this interface can offer a good foundation for other packages
>to build on.
>
>Here are a few more comments:
>
>1) You mentioned the "version number within the (taskstats)
>    structure" in taskstats.txt and a few other places, but i do not see
>    that field defined in struct taskstats in taskstats.h?
>  
>
Missed out on that. Need to add it back in.

>2) In taskstats.txt "Extending taskstats" section, you mentioned two
>    ways to extend the interface. The second method looks like a method
>    to encoureage other package developers to create their own interface
>   (ie, not taskstats) based on generic netlink to avoid reading large
>number
>    of fields not interested to other particular applications? I will be
>fine
>    with this as long as it is understood and agreed.
>  
>
Yes, the second method is for other packages, which have very little in 
common with the struct
taskstats to extend the stats returned (using netlink attribs to extend 
rather than extending the structure).

>    Alternatively, you may have considered the pros and cons of #ifdef
>    fields specific to only one accounting package in the struct taskstats.
>    If you do, care to share your thoughts? 
>
I'd rather avoid doing an #ifdef'ed definition of the fields based on 
configuration of one or the other
accounting package...it'll add complexity for userspace parsing of the 
structure.

Its quite acceptable to have the fields have zero as content if the 
corresponding package isn't configured.


>Specific payload information
>    can be carried in the version field. I am sure the version number of
>struct
>    taskstats does not need 64 bits. With the version number and payload
>    info, application can surely interpret the taskstats data correctly.  
>  
>
By "payload info" you mean some sort of bitmask (or encoding) which 
specifies which fields are present
or absent ? I suppose that could be done but it adds unnecessary 
complexity ? e.g once delay accounting is there,
all six to eight fields corresponding to it will be present...I don't 
see much value in further being able to configure
cpu delays, mem delays etc. separately. Is that different for CSA ?


>3) In taskstats.txt "Usage" section, you mentioned "... in the Advanced
>    Usage section below...", but that section does not exist.
>  
>
Thanks for pointing it out. Should replace it with "per-tgid stats section".

>4) In do_exit() routine, you do:
>+ taskstats_exit_alloc(&tidstats, &tgidstats);
>
>    The tidstats and tgidstats are checked in taskstats_exit_send() in
>    taskstats.c for allocation failure, but a lot has been processed before
>    the check. The allocation failure happens when system is stressed in
>    memory. I  think we want to do the check earlier?
>  
>
Since accounting is non-critical, I didn't see the need for doing the 
check earlier if we're not going to do
anything about it. The first use of the allocated structure is in the 
taskstats_exit_send() where filling of the
stats is not done if allocation failed. What would you suggest we do, on 
allocation failure, if the check is
performed immediately after the alloc ?

--Shailabh

>   
>Regards,
> - jay
>
>  
>


  reply	other threads:[~2006-04-27  4:01 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:37 ` [Patch 5/8] taskstats interface Shailabh Nagar
2006-04-27  1:12   ` Jay Lan
2006-04-27  4:00     ` Shailabh Nagar [this message]
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
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
  -- strict thread matches above, loose matches on Subject: below --
2006-05-02  6:18 [Patch 5/8] taskstats interface Balbir Singh

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=445041EB.7080205@watson.ibm.com \
    --to=nagar@watson.ibm.com \
    --cc=jlan@engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    /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).