Date: Wed, 10 Mar 1999 00:30:02 -0800 (PST) From: amagai@nue.org To: freebsd-bugs@FreeBSD.org Subject: Re: kern/10402: times(3) non-decreaseness broken in 4.0 Message-ID: <199903100830.AAA80437@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/10402; it has been noted by GNATS.
From: amagai@nue.org
To: freebsd-gnats-submit@freebsd.org, tobez@plab.ku.dk
Cc:
Subject: Re: kern/10402: times(3) non-decreaseness broken in 4.0
Date: Wed, 10 Mar 1999 17:23:11 +0900 (JST)
Dear, I have a same problem. CPU consumption time is decreased occasionally.
Environment: FreeBSD 2.2.8-RELEASE, FreeBSD 3.1-RELEASE
================================================================
How to repeat: compile and run this program.
#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
struct rusage rusage;
main ()
{
int x = 0;
int y;
int us, uu, ss, su;
for(;;) {
getrusage (0, &rusage);
y = rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec
+ rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;
if (y < x) {
fprintf(stderr, "%d, previous %d %d\n", y, x, y-x);
fprintf(stderr, "\tuser %d %d sys %d %d\n", us, uu, ss, su);
fprintf(stderr, "\tuser %ld %ld sys %ld %ld\n",
rusage.ru_utime.tv_sec, rusage.ru_utime.tv_usec,
rusage.ru_stime.tv_sec, rusage.ru_stime.tv_usec);
}
x = y;
us = rusage.ru_utime.tv_sec;
uu = rusage.ru_utime.tv_usec;
ss = rusage.ru_stime.tv_sec;
su = rusage.ru_stime.tv_usec;
}
}
================================================================
problem: I make a trace of a funcion calcru in /usr/src/sys/kern/kern_resources.c
p->p_sticks p->p_uticks p->p_iticks totusec(adjusted)
a call : 76 13 37 928620
next call: 76 13 38 928793
utime and stime (in micro second) are evaluated as follows:
utime = (totusec * p->p_uticks) / (p->p_sticks + p->p_uticks + p->p_iticks);
stime = (totusec * p->p_sticks) / (p->p_sticks + p->p_uticks + p->p_iticks);
p->p_sticks p->p_uticks p->p_iticks totusec utime+stime
a call : 76 13 37 928620 655930
next call: 76 13 38 928793 650886
decrease 5044 usec
fix:
May be difficult....
Thanks
Yoshiji Amagai
New Unified Environment Research Project
amagai@nue.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903100830.AAA80437>
