[PATCH 3/4] ring-buffer: add total count in ring-buffer-benchmark

Steven Rostedt
2009-05-08T04:34:30Z

[-- Attachment #1: 0003-ring-buffer-add-total-count-in-ring-buffer-benchmar.patch --]
[-- Type: text/plain, Size: 1257 bytes --]

From: Steven Rostedt <srostedt@redhat.com>

It is nice to see the overhead of the benchmark test when tracing is
disabled. That is, we turn off the ring buffer just to see what the
cost of running the loop that calls into the ring buffer is.

Currently, if no entries wer made, we get 0. This is not informative.
This patch changes it to check if we had any "missed" (non recorded)
events. If so, a total count is also reported.

[ Impact: evaluate the over head of the ring buffer benchmark test ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/ring_buffer_benchmark.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/kernel/trace/ring_buffer_benchmark.c b/kernel/trace/ring_buffer_benchmark.c
index a7c048b..a21aa7b 100644
--- a/kernel/trace/ring_buffer_benchmark.c
+++ b/kernel/trace/ring_buffer_benchmark.c
@@ -285,6 +285,17 @@ static void ring_buffer_producer(void)
avg = 1000000 / hit;
pr_info("%ld ns per entry\n", avg);
}
+
+
+ if (missed) {
+ if (time)
+ missed /= (long)time;
+
+ pr_info("Total iterations per millisec: %ld\n", hit + missed);
+
+ avg = 1000000 / (hit + missed);
+ pr_info("%ld ns per entry\n", avg);
+ }
}

static void wait_to_die(void)
--
1.6.2.4

--