lkml.org 
[lkml]   [2009]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perfcounters/core] perf_counter: x86: Expose INV and EDGE bits
    Commit-ID:  ff99be573e02e9f7edc23b472c7f9a5ddba12795
    Gitweb: http://git.kernel.org/tip/ff99be573e02e9f7edc23b472c7f9a5ddba12795
    Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
    AuthorDate: Mon, 25 May 2009 17:39:03 +0200
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Mon, 25 May 2009 21:41:11 +0200

    perf_counter: x86: Expose INV and EDGE bits

    Expose the INV and EDGE bits of the PMU to raw configs.

    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: John Kacur <jkacur@redhat.com>
    LKML-Reference: <20090525153931.494709027@chello.nl>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>


    ---
    arch/x86/kernel/cpu/perf_counter.c | 8 ++++++++
    1 files changed, 8 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/kernel/cpu/perf_counter.c b/arch/x86/kernel/cpu/perf_counter.c
    index 6cc1660..c14437f 100644
    --- a/arch/x86/kernel/cpu/perf_counter.c
    +++ b/arch/x86/kernel/cpu/perf_counter.c
    @@ -87,11 +87,15 @@ static u64 intel_pmu_raw_event(u64 event)
    {
    #define CORE_EVNTSEL_EVENT_MASK 0x000000FFULL
    #define CORE_EVNTSEL_UNIT_MASK 0x0000FF00ULL
    +#define CORE_EVNTSEL_EDGE_MASK 0x00040000ULL
    +#define CORE_EVNTSEL_INV_MASK 0x00800000ULL
    #define CORE_EVNTSEL_COUNTER_MASK 0xFF000000ULL

    #define CORE_EVNTSEL_MASK \
    (CORE_EVNTSEL_EVENT_MASK | \
    CORE_EVNTSEL_UNIT_MASK | \
    + CORE_EVNTSEL_EDGE_MASK | \
    + CORE_EVNTSEL_INV_MASK | \
    CORE_EVNTSEL_COUNTER_MASK)

    return event & CORE_EVNTSEL_MASK;
    @@ -119,11 +123,15 @@ static u64 amd_pmu_raw_event(u64 event)
    {
    #define K7_EVNTSEL_EVENT_MASK 0x7000000FFULL
    #define K7_EVNTSEL_UNIT_MASK 0x00000FF00ULL
    +#define K7_EVNTSEL_EDGE_MASK 0x000040000ULL
    +#define K7_EVNTSEL_INV_MASK 0x000800000ULL
    #define K7_EVNTSEL_COUNTER_MASK 0x0FF000000ULL

    #define K7_EVNTSEL_MASK \
    (K7_EVNTSEL_EVENT_MASK | \
    K7_EVNTSEL_UNIT_MASK | \
    + K7_EVNTSEL_EDGE_MASK | \
    + K7_EVNTSEL_INV_MASK | \
    K7_EVNTSEL_COUNTER_MASK)

    return event & K7_EVNTSEL_MASK;

    \
     
     \ /
      Last update: 2009-05-25 21:57    [W:0.024 / U:0.396 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site