]> git.karo-electronics.de Git - mv-sheeva.git/commit
x86, perfcounters: add support for fixed-function pmcs
authorIngo Molnar <mingo@elte.hu>
Mon, 22 Dec 2008 10:10:42 +0000 (11:10 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 23 Dec 2008 11:45:25 +0000 (12:45 +0100)
commit2f18d1e8d07ae67dd0afce875287756d4bd31a46
treebad96eb7e3330ac470b98d22ec7650da7b7b8910
parentf650a672359819454c3d8d4135ecd1558cde0b24
x86, perfcounters: add support for fixed-function pmcs

Impact: extend performance counter support on x86 Intel CPUs

Modern Intel CPUs have 3 "fixed-function" performance counters, which
count these hardware events:

    Instr_Retired.Any
    CPU_CLK_Unhalted.Core
    CPU_CLK_Unhalted.Ref

Add support for them to the performance counters subsystem.

Their use is transparent to user-space: the counter scheduler is
extended to automatically recognize the cases where a fixed-function
PMC can be utilized instead of a generic PMC. In such cases the
generic PMC is kept available for more counters.

The above fixed-function events map to these generic counter hw events:

        PERF_COUNT_INSTRUCTIONS
        PERF_COUNT_CPU_CYCLES
        PERF_COUNT_BUS_CYCLES

(The 'bus' cycles are in reality often CPU-ish cycles, just with a fixed
 frequency.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/perf_counter.h
arch/x86/kernel/cpu/perf_counter.c