summaryrefslogtreecommitdiff
path: root/kernel/time
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2007-10-07 07:24:31 (GMT)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-07 23:28:43 (GMT)
commit74922be1485818ed368c4cf4f0b100f70bf01e08 (patch)
treeb283c44086bd83dc7c61dbed25218efd01cc46b0 /kernel/time
parent0c2043abefacac97b6d01129c1123a466c95b7c1 (diff)
downloadlinux-74922be1485818ed368c4cf4f0b100f70bf01e08.tar.xz
Fix timer_stats printout of events/sec
When using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt accurate. Sometimes the integer part was incorrect due to rounding (we werent taking the fractional seconds into consideration). The fraction part is also wrong, we need to pad the printf statement and take the bottom three digits of 1000 times the value. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/time')
-rw-r--r--kernel/time/timer_stats.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c
index 3c38fb5..c36bb7e 100644
--- a/kernel/time/timer_stats.c
+++ b/kernel/time/timer_stats.c
@@ -327,8 +327,9 @@ static int tstats_show(struct seq_file *m, void *v)
ms = 1;
if (events && period.tv_sec)
- seq_printf(m, "%ld total events, %ld.%ld events/sec\n", events,
- events / period.tv_sec, events * 1000 / ms);
+ seq_printf(m, "%ld total events, %ld.%03ld events/sec\n",
+ events, events * 1000 / ms,
+ (events * 1000000 / ms) % 1000);
else
seq_printf(m, "%ld total events\n", events);