lkml.org 
[lkml]   [2007]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: taskstats accounting info
On Thu, 15 Mar 2007 11:06:55 -0800 Andrew Morton wrote:

> > On Wed, 14 Mar 2007 17:48:32 +0530 Balbir Singh <balbir@in.ibm.com> wrote:
> > Randy.Dunlap wrote:
> > > Hi,
> > >
> > > Documentation/accounting/delay-accounting.txt says that the
> > > getdelays program has a "-c cmd" argument, but that option
> > > does not seem to exist in Documentation/account/getdelays.c.
> > >
> > > Do you have an updated version of getdelays.c?
> > > If not, please correct that documentation.
> > >
> >
> > Yes, I did, but then I changed my laptop. I should have it archived
> > at some place, I'll dig it out or correct the documentation.
> >
> > > Is getdelays.c the best available example of a program
> > > using the taskstats netlink interface?
> > >
> >
> > It's the most portable example, since it does not depend on libnl.
>
> err, what is libnl?

lib-netlink (as already answered, but I wrote this last week)

> If there exists some real userspace infrastructure which utilises
> taskstats, can we please get a referece to it into the kernel
> Documentation? Perhaps in the TASKSTATS Kconfig entry, thanks.


Balbir, I was working with getdelays.c when I initially wrote
these questions. Here is a small patch for it. Hopefully you can
use it when you find the updated version of it.

~Randy

From: Randy Dunlap <randy.dunlap@oracle.com>

1. add usage() function

2. add unknown character in %c format (was only in %d, not useful):

./getdelays: invalid option -- h
Unknown option '?' (63)

instead of:

./getdelays: invalid option -- h
Unknown option 63

(or just remove that message)

3. -v does not use an optarg, so remove ':' in getopt string after 'v';

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
getdelays.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

--- old/Documentation/accounting/getdelays.c
+++ new/Documentation/accounting/getdelays.c
@@ -72,6 +72,15 @@ struct msgtemplate {

char cpumask[100+6*MAX_CPUS];

+static void usage(void)
+{
+ fprintf(stderr, "getdelays [-dilv] [-w logfile] [-r bufsize] [-m cpumask] [-t tgid] [-p pid]\n");
+ fprintf(stderr, " -d: print delayacct stats\n");
+ fprintf(stderr, " -i: print IO accounting\n");
+ fprintf(stderr, " -l: listen forever\n");
+ fprintf(stderr, " -v: debug on\n");
+}
+
/*
* Create a raw netlink socket and bind
*/
@@ -227,7 +236,7 @@ int main(int argc, char *argv[])
struct msgtemplate msg;

while (1) {
- c = getopt(argc, argv, "diw:r:m:t:p:v:l");
+ c = getopt(argc, argv, "diw:r:m:t:p:vl");
if (c < 0)
break;

@@ -277,7 +286,8 @@ int main(int argc, char *argv[])
loop = 1;
break;
default:
- printf("Unknown option %d\n", c);
+ printf("Unknown option '%c' (%d)\n", c, c);
+ usage();
exit(-1);
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2007-03-19 16:39    [W:0.056 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site