NetBSD Problem Report #15327

Received: (qmail 11154 invoked from network); 22 Jan 2002 01:31:36 -0000
Message-Id: <200201220125.g0M1PcJ00817@quiteria>
Date: Mon, 21 Jan 2002 20:25:38 -0500 (EST)
From: dbj@netbsd.org
Reply-To: dbj@netbsd.org
To: gnats-bugs@gnats.netbsd.org
Cc: dbj@netbsd.org
Subject: getrusage(2) not reporting all statistics
X-Send-Pr-Version: 3.95

>Number:         15327
>Category:       kern
>Synopsis:       getrusage(2) not reporting all statistics
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 22 01:32:01 +0000 2002
>Closed-Date:    
>Last-Modified:  
>Originator:     Darrin B. Jewell
>Release:        NetBSD 1.5ZA 20020116T1504Z
>Organization:
>Environment:
System: NetBSD quiteria 1.5ZA NetBSD 1.5ZA (QUITERIA) #1: Thu Jan 17 23:58:17 EST 2002 dbj@quiteria:/usr/src/sys/arch/macppc/compile/QUITERIA macppc
Architecture: powerpc
Machine: macppc
>Description:

getrusage does not appear to get valid values for some fields,
for example, the test program included below retreived these
values for itself:

r = 0
ru_utime.tv_sec = 0
ru_utime.tv_usec = 0
ru_stime.tv_sec = 0
ru_stime.tv_usec = 0
ru_maxrss = 0
ru_ixrss = 0
ru_idrss = 0
ru_isrss = 0
ru_minflt = 67
ru_majflt = 0
ru_nswap = 0
ru_inblock = 1
ru_oublock = 1
ru_msgsnd = 0
ru_msgrcv = 0
ru_nsignals = 0
ru_nvcsw = 2
ru_nivcsw = 0

>How-To-Repeat:

#include <stdlib.h>
#include <stdio.h>
#include <sys/resource.h>

int
dump_rusage(FILE *f)
{
	int r;
	struct rusage ru;
	memset(&ru,0xff,sizeof(ru));
	r = getrusage(RUSAGE_SELF,&ru);
	if (r == -1) {
		perror("getrusage");
	}
	fprintf(f,"r = %d\n",r);
	fprintf(f,"ru_utime.tv_sec = %ld\n",ru.ru_utime.tv_sec);
	fprintf(f,"ru_utime.tv_usec = %ld\n",ru.ru_utime.tv_usec);
	fprintf(f,"ru_stime.tv_sec = %ld\n",ru.ru_stime.tv_sec);
	fprintf(f,"ru_stime.tv_usec = %ld\n",ru.ru_stime.tv_usec);
	fprintf(f,"ru_maxrss = %ld\n",ru.ru_maxrss);
	fprintf(f,"ru_ixrss = %ld\n",ru.ru_ixrss);
	fprintf(f,"ru_idrss = %ld\n",ru.ru_idrss);
	fprintf(f,"ru_isrss = %ld\n",ru.ru_isrss);
	fprintf(f,"ru_minflt = %ld\n",ru.ru_minflt);
	fprintf(f,"ru_majflt = %ld\n",ru.ru_majflt);
	fprintf(f,"ru_nswap = %ld\n",ru.ru_nswap);
	fprintf(f,"ru_inblock = %ld\n",ru.ru_inblock);
	fprintf(f,"ru_oublock = %ld\n",ru.ru_oublock);
	fprintf(f,"ru_msgsnd = %ld\n",ru.ru_msgsnd);
	fprintf(f,"ru_msgrcv = %ld\n",ru.ru_msgrcv);
	fprintf(f,"ru_nsignals = %ld\n",ru.ru_nsignals);
	fprintf(f,"ru_nvcsw = %ld\n",ru.ru_nvcsw);
	fprintf(f,"ru_nivcsw = %ld\n",ru.ru_nivcsw);
	return r;
}

int
main(int argc, char *argv[])
{
	int r;
	r = dump_rusage(stdout);
	if (r == -1) {
		return EXIT_FAILURE;
	}
	return EXIT_SUCCESS;
}

>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.