lkml.org 
[lkml]   [2010]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] perf wrong branches event on AMD
    Hello

    while doing some performance counter validation tests on some assembly
    language programs I noticed that the "branches:u" count was very wrong on
    AMD machines.

    It looks like the wrong event was selected.

    This is why event selection needs to be in user-space... it could be fixed
    instantly there, but the way things are done now it will take months to
    years for this fix to filter down to those trying to use perf counters...

    Signed-off-by: Vince Weaver <vweaver1@eecs.utk.edu>

    diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c
    index 611df11..c2897b7 100644
    --- a/arch/x86/kernel/cpu/perf_event_amd.c
    +++ b/arch/x86/kernel/cpu/perf_event_amd.c
    @@ -102,8 +102,8 @@ static const u64 amd_perfmon_event_map[] =
    [PERF_COUNT_HW_INSTRUCTIONS] = 0x00c0,
    [PERF_COUNT_HW_CACHE_REFERENCES] = 0x0080,
    [PERF_COUNT_HW_CACHE_MISSES] = 0x0081,
    - [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 0x00c4,
    - [PERF_COUNT_HW_BRANCH_MISSES] = 0x00c5,
    + [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 0x00c2,
    + [PERF_COUNT_HW_BRANCH_MISSES] = 0x00c3,
    };

    static u64 amd_pmu_event_map(int hw_event)

    \
     
     \ /
      Last update: 2010-07-01 21:49    [W:0.019 / U:188.188 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site