summaryrefslogtreecommitdiff
path: root/sys/kern/kern_resource.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2006-03-09 09:33:17 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2006-03-09 09:33:17 +0000
commit0f038c05eaecfe788bdc0cce05071c7593bd4b96 (patch)
tree194b2772e9b492c453bad4dce6c08196e14f9b9e /sys/kern/kern_resource.c
parent6cda760f09d1486cb72c8f9dca51d7de0cc81539 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_resource.c')
-rw-r--r--sys/kern/kern_resource.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c
index 16d1d5c937fc..b527f14ffd7a 100644
--- a/sys/kern/kern_resource.c
+++ b/sys/kern/kern_resource.c
@@ -779,7 +779,11 @@ calcru1(struct proc *p, struct rusage_ext *ruxp, struct timeval *up,
uu = (tu * ut) / tt;
su = (tu * st) / tt;
iu = tu - uu - su;
- if (tu < ptu) {
+ if (tu + 3 > ptu) {
+ /* Numeric slop for low counts */
+ } else if (101 * tu > 100 * ptu) {
+ /* 1% slop for large counts */
+ } else {
printf(
"calcru: runtime went backwards from %ju usec to %ju usec for pid %d (%s)\n",
(uintmax_t)ptu, (uintmax_t)tu, p->p_pid, p->p_comm);