Re: [PATCH 0/4] perf_event: introduce 'perf timer' to analyze timer's behavior

Xiao Guangrong
2009-12-16T01:21:14Z

Frederic Weisbecker wrote:
> On Tue, Dec 15, 2009 at 07:17:03PM +0800, Xiao Guangrong wrote:
>> 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 |
>
>
>
> Cool! This is really a good work and a good idea.
>
> Just have some neats in mind. hrtimers and timers don't have the same latency and
> granularity requirements.
>
> As you show it, timers have an HZ granularity and hrtimers are about nanoseconds,
> and mixing them up in the same array of latency report is too messy.
> They don't have the same granularity/latency scope so they should
> be reported separately.
>

Yeah, it has different unit and looks ugly :-(

but, the problem is we can't get HZ in userspace now, i'll export HZ by proc or other
way and rectify 'perf timer' output in my next work

Thanks,
Xiao