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:  Thu Jun 11 21:15:00 +0000 2026
>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:
From: "Jeremy C. Reed" <reed@reedmedia.net>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/15327: getrusage(2) not reporting all statistics
Date: Fri, 8 May 2026 21:21:34 +0000 (UTC)

 This ticket is really old. What were some of the invalid values (from 
 the original ticket)?

 Here is my output today from this test:

 r = 0
 ru_utime.tv_sec = 0
 ru_utime.tv_usec = 655
 ru_stime.tv_sec = 0
 ru_stime.tv_usec = 655
 ru_maxrss = 7744
 ru_ixrss = 8
 ru_idrss = 4
 ru_isrss = 12
 ru_minflt = 169
 ru_majflt = 0
 ru_nswap = 0
 ru_inblock = 0
 ru_oublock = 0
 ru_msgsnd = 0
 ru_msgrcv = 0
 ru_nsignals = 0
 ru_nvcsw = 0
 ru_nivcsw = 0

From: "Darrin B. Jewell" <dbj@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: "Darrin B. Jewell" <dbj@netbsd.org>
Subject: Re: kern/15327: getrusage(2) not reporting all statistics
Date: Thu, 11 Jun 2026 21:12:35 +0000

 I don't remember exactly.  I suspect I was doing some profiling
 and looking at time and memory stats.  I think it's fine to close this.

 Darrin

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.