lkml.org 
[lkml]   [2009]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH 0/4] perf_event: introduce 'perf timer' to analyze timer's behavior
Hi,

We introduce 'perf timer' in this patchset, it can analyze timer
latency and timer function handle time, the usage and result is
like below:

# perf timer record
# perf timer lat --print-lat --print-handle
-------------------------------------------------------------------------------------------------------
| Timer | TYPE | Avg-latency | Max-latency | Max-latency-at-TS |Max-lat-at-Task |
|0xf7ad1f5c |hrtimer |996068.500 ns|1607650 ns|10270128658526 |init |
|0xf7903f04 |timer |0.625 HZ|2 HZ|10270344082394 |swapper |
|0xf787a05c |hrtimer |200239.500 ns|359929 ns|10269316024808 |main |
|main :[ PROF]|itimer |0.000 HZ|0 HZ|10237021270557 |main |
|main :[VIRTUAL]|itimer |0.000 HZ|0 HZ|10257314773501 |main |

......

-------------------------------------------------------------------------------------------------------
| Timer | TYPE | Avg-handle (ms)|Max-handle(ms)| Max-handle-at-TS(s)|Max-lat-at-func |
|0xf7ad1f5c |hrtimer |0.025 |0.025 |10270.129 |0xc016b5b0 |
|0xf7903f04 |timer |0.009 |0.011 |10260.342 |0xc0159240 |
|0xf787a05c |hrtimer |0.031 |0.062 |10267.018 |0xc014cc40 |

And, in current code, it'll complain with below message when we use
'perf timer lat':

# ./perf timer lat
Warning: unknown op '{'
Warning: Error: expected type 5 but read 1
Warning: failed to read event print fmt for hrtimer_start
Warning: unknown op '{'
Warning: Error: expected type 5 but read 1
Warning: failed to read event print fmt for hrtimer_expire_entry

It's because perf parse "hrtimer_start" and "hrtimer_expire_entry" fail,
but it not hurt using.

See: http://lkml.org/lkml/2009/10/12/726

include/trace/events/timer.h | 8
tools/perf/Documentation/perf-timer.txt | 40 +
tools/perf/Makefile | 1
tools/perf/builtin-sched.c | 3
tools/perf/builtin-timer.c | 954 ++++++++++++++++++++++++++++++++
tools/perf/builtin.h | 1
tools/perf/command-list.txt | 1
tools/perf/perf.c | 1
tools/perf/util/trace-event-parse.c | 25
tools/perf/util/trace-event.h | 4
10 files changed, 1030 insertions(+), 8 deletions(-)


\
 
 \ /
  Last update: 2009-12-15 12:21    [W:0.104 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site