Re: [PATCH][RFC] Adding transition of CPU frequency countingsupport to perfcounters

From: Ingo Molnar
Date: Sat Jul 18 2009 - 05:32:35 EST



* Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> wrote:

> Hi,
>
> I'm trying to add transition of CPU frequency counting support to perfcounters.
> If perf can count freq transition, this will be more useful
> because frequencies of CPUs are dynamic things today.
> And there's no way to count freq transitions per process level.
>
> But I have a question.
> I copied the way of sw-events already exist such as migration or page-fault.
> But like this,
>
> % perf stat emacs
>
> Performance counter stats for 'emacs':
>
> 1324.294227 task-clock-msecs # 0.704 CPUs
> 1980 context-switches # 0.001 M/sec
> 30 CPU-migrations # 0.000 M/sec
> 42986 page-faults # 0.032 M/sec
> 0 cpufreq-up # 0.000 M/sec
> ^^^^^^^^^^
> 0 cpufreq-down # 0.000 M/sec
> ^^^^^^^^^^^^
> 4057387374 cycles # 3063.811 M/sec
> 4767004447 instructions # 1.175 IPC
> 20687483 cache-references # 15.622 M/sec
> 5103528 cache-misses # 3.854 M/sec
>
> 1.880587959 seconds time elapsed
>
> perf said there's no freq transition.
> But I checked there are some transitions with cpufreq-info.
>
> Can you find something bad in this patch?
> I'll continue to try implementing.
> If you find some bad points, I'd like to hear..

> + if (freqs->new > freqs->old)
> + perf_swcounter_event(PERF_COUNT_SW_CPUFREQ_UP,
> + 1, 0, NULL, 0);
> + else
> + perf_swcounter_event(PERF_COUNT_SW_CPUFREQ_DOWN,
> + 1, 0, NULL, 0);

Could you try:

perf stat -a sleep 60

while you do your emacs run that toggles cpufreq events? This makes
sure all transitions are counted, regardless of which context
triggers it. Do you still get zero counts this way?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/