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>