diff options
Diffstat (limited to 'kernel/trace/ring_buffer_benchmark.c')
-rw-r--r-- | kernel/trace/ring_buffer_benchmark.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/kernel/trace/ring_buffer_benchmark.c b/kernel/trace/ring_buffer_benchmark.c index cf6b0f50134e..573d3cc762c3 100644 --- a/kernel/trace/ring_buffer_benchmark.c +++ b/kernel/trace/ring_buffer_benchmark.c | |||
@@ -203,7 +203,7 @@ static void ring_buffer_producer(void) | |||
203 | * Hammer the buffer for 10 secs (this may | 203 | * Hammer the buffer for 10 secs (this may |
204 | * make the system stall) | 204 | * make the system stall) |
205 | */ | 205 | */ |
206 | pr_info("Starting ring buffer hammer\n"); | 206 | trace_printk("Starting ring buffer hammer\n"); |
207 | do_gettimeofday(&start_tv); | 207 | do_gettimeofday(&start_tv); |
208 | do { | 208 | do { |
209 | struct ring_buffer_event *event; | 209 | struct ring_buffer_event *event; |
@@ -239,7 +239,7 @@ static void ring_buffer_producer(void) | |||
239 | #endif | 239 | #endif |
240 | 240 | ||
241 | } while (end_tv.tv_sec < (start_tv.tv_sec + RUN_TIME) && !kill_test); | 241 | } while (end_tv.tv_sec < (start_tv.tv_sec + RUN_TIME) && !kill_test); |
242 | pr_info("End ring buffer hammer\n"); | 242 | trace_printk("End ring buffer hammer\n"); |
243 | 243 | ||
244 | if (consumer) { | 244 | if (consumer) { |
245 | /* Init both completions here to avoid races */ | 245 | /* Init both completions here to avoid races */ |
@@ -262,49 +262,50 @@ static void ring_buffer_producer(void) | |||
262 | overruns = ring_buffer_overruns(buffer); | 262 | overruns = ring_buffer_overruns(buffer); |
263 | 263 | ||
264 | if (kill_test) | 264 | if (kill_test) |
265 | pr_info("ERROR!\n"); | 265 | trace_printk("ERROR!\n"); |
266 | pr_info("Time: %lld (usecs)\n", time); | 266 | trace_printk("Time: %lld (usecs)\n", time); |
267 | pr_info("Overruns: %lld\n", overruns); | 267 | trace_printk("Overruns: %lld\n", overruns); |
268 | if (disable_reader) | 268 | if (disable_reader) |
269 | pr_info("Read: (reader disabled)\n"); | 269 | trace_printk("Read: (reader disabled)\n"); |
270 | else | 270 | else |
271 | pr_info("Read: %ld (by %s)\n", read, | 271 | trace_printk("Read: %ld (by %s)\n", read, |
272 | read_events ? "events" : "pages"); | 272 | read_events ? "events" : "pages"); |
273 | pr_info("Entries: %lld\n", entries); | 273 | trace_printk("Entries: %lld\n", entries); |
274 | pr_info("Total: %lld\n", entries + overruns + read); | 274 | trace_printk("Total: %lld\n", entries + overruns + read); |
275 | pr_info("Missed: %ld\n", missed); | 275 | trace_printk("Missed: %ld\n", missed); |
276 | pr_info("Hit: %ld\n", hit); | 276 | trace_printk("Hit: %ld\n", hit); |
277 | 277 | ||
278 | /* Convert time from usecs to millisecs */ | 278 | /* Convert time from usecs to millisecs */ |
279 | do_div(time, USEC_PER_MSEC); | 279 | do_div(time, USEC_PER_MSEC); |
280 | if (time) | 280 | if (time) |
281 | hit /= (long)time; | 281 | hit /= (long)time; |
282 | else | 282 | else |
283 | pr_info("TIME IS ZERO??\n"); | 283 | trace_printk("TIME IS ZERO??\n"); |
284 | 284 | ||
285 | pr_info("Entries per millisec: %ld\n", hit); | 285 | trace_printk("Entries per millisec: %ld\n", hit); |
286 | 286 | ||
287 | if (hit) { | 287 | if (hit) { |
288 | /* Calculate the average time in nanosecs */ | 288 | /* Calculate the average time in nanosecs */ |
289 | avg = NSEC_PER_MSEC / hit; | 289 | avg = NSEC_PER_MSEC / hit; |
290 | pr_info("%ld ns per entry\n", avg); | 290 | trace_printk("%ld ns per entry\n", avg); |
291 | } | 291 | } |
292 | 292 | ||
293 | if (missed) { | 293 | if (missed) { |
294 | if (time) | 294 | if (time) |
295 | missed /= (long)time; | 295 | missed /= (long)time; |
296 | 296 | ||
297 | pr_info("Total iterations per millisec: %ld\n", hit + missed); | 297 | trace_printk("Total iterations per millisec: %ld\n", |
298 | hit + missed); | ||
298 | 299 | ||
299 | /* it is possible that hit + missed will overflow and be zero */ | 300 | /* it is possible that hit + missed will overflow and be zero */ |
300 | if (!(hit + missed)) { | 301 | if (!(hit + missed)) { |
301 | pr_info("hit + missed overflowed and totalled zero!\n"); | 302 | trace_printk("hit + missed overflowed and totalled zero!\n"); |
302 | hit--; /* make it non zero */ | 303 | hit--; /* make it non zero */ |
303 | } | 304 | } |
304 | 305 | ||
305 | /* Caculate the average time in nanosecs */ | 306 | /* Caculate the average time in nanosecs */ |
306 | avg = NSEC_PER_MSEC / (hit + missed); | 307 | avg = NSEC_PER_MSEC / (hit + missed); |
307 | pr_info("%ld ns per entry\n", avg); | 308 | trace_printk("%ld ns per entry\n", avg); |
308 | } | 309 | } |
309 | } | 310 | } |
310 | 311 | ||
@@ -355,7 +356,7 @@ static int ring_buffer_producer_thread(void *arg) | |||
355 | 356 | ||
356 | ring_buffer_producer(); | 357 | ring_buffer_producer(); |
357 | 358 | ||
358 | pr_info("Sleeping for 10 secs\n"); | 359 | trace_printk("Sleeping for 10 secs\n"); |
359 | set_current_state(TASK_INTERRUPTIBLE); | 360 | set_current_state(TASK_INTERRUPTIBLE); |
360 | schedule_timeout(HZ * SLEEP_TIME); | 361 | schedule_timeout(HZ * SLEEP_TIME); |
361 | __set_current_state(TASK_RUNNING); | 362 | __set_current_state(TASK_RUNNING); |