summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2009-02-19 15:19:00 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-02-19 15:19:19 +0100
commitd5cd0343d2878b66e25e044f644563c6bf708833 (patch)
treef5ac4a6f0fe9e37c46d718df0f365b77883184bb
parente2e5a0f2b100a5204d27def8bbf73333d1710be2 (diff)
downloadlinux-d5cd0343d2878b66e25e044f644563c6bf708833.tar.gz
linux-d5cd0343d2878b66e25e044f644563c6bf708833.tar.bz2
linux-d5cd0343d2878b66e25e044f644563c6bf708833.zip
[S390] Fix timeval regression on s390
commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4 [PATCH] improve precision of process accounting. Introduced a timing regression: -bash-3.2# time ls real 0m0.006s user 0m1.754s sys 0m1.094s The problem was introduced by an error in cputime_to_timeval. Cputime is now 1/4096 microsecond, therefore, we have to divide the remainder with 4096 to get the microseconds. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/include/asm/cputime.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/cputime.h b/arch/s390/include/asm/cputime.h
index 521726430afa..95b0f7db3c69 100644
--- a/arch/s390/include/asm/cputime.h
+++ b/arch/s390/include/asm/cputime.h
@@ -145,7 +145,7 @@ cputime_to_timeval(const cputime_t cputime, struct timeval *value)
value->tv_usec = rp.subreg.even / 4096;
value->tv_sec = rp.subreg.odd;
#else
- value->tv_usec = cputime % 4096000000ULL;
+ value->tv_usec = (cputime % 4096000000ULL) / 4096;
value->tv_sec = cputime / 4096000000ULL;
#endif
}