lkml.org 
[lkml]   [2017]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 20/22] perf tools: Add support for the SPF perf event
    Date
    Add support for the new speculative faults event.

    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    ---
    tools/include/uapi/linux/perf_event.h | 1 +
    tools/perf/util/evsel.c | 1 +
    tools/perf/util/parse-events.c | 4 ++++
    tools/perf/util/parse-events.l | 1 +
    tools/perf/util/python.c | 1 +
    5 files changed, 8 insertions(+)

    diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h
    index 140ae638cfd6..101e509ee39b 100644
    --- a/tools/include/uapi/linux/perf_event.h
    +++ b/tools/include/uapi/linux/perf_event.h
    @@ -111,6 +111,7 @@ enum perf_sw_ids {
    PERF_COUNT_SW_EMULATION_FAULTS = 8,
    PERF_COUNT_SW_DUMMY = 9,
    PERF_COUNT_SW_BPF_OUTPUT = 10,
    + PERF_COUNT_SW_SPF = 11,

    PERF_COUNT_SW_MAX, /* non-ABI */
    };
    diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
    index f894893c203d..5cff5936a9ac 100644
    --- a/tools/perf/util/evsel.c
    +++ b/tools/perf/util/evsel.c
    @@ -437,6 +437,7 @@ const char *perf_evsel__sw_names[PERF_COUNT_SW_MAX] = {
    "alignment-faults",
    "emulation-faults",
    "dummy",
    + "speculative-faults",
    };

    static const char *__perf_evsel__sw_name(u64 config)
    diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
    index 9183913a6174..0914d3b94ae8 100644
    --- a/tools/perf/util/parse-events.c
    +++ b/tools/perf/util/parse-events.c
    @@ -136,6 +136,10 @@ struct event_symbol event_symbols_sw[PERF_COUNT_SW_MAX] = {
    .symbol = "bpf-output",
    .alias = "",
    },
    + [PERF_COUNT_SW_SPF] = {
    + .symbol = "speculative-faults",
    + .alias = "spf",
    + },
    };

    #define __PERF_EVENT_FIELD(config, name) \
    diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
    index ea2426daf7e8..67d2d9c79c28 100644
    --- a/tools/perf/util/parse-events.l
    +++ b/tools/perf/util/parse-events.l
    @@ -290,6 +290,7 @@ emulation-faults { return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_EM
    dummy { return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_DUMMY); }
    duration_time { return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_DUMMY); }
    bpf-output { return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_BPF_OUTPUT); }
    +speculative-faults|spf { return sym(yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_SPF); }

    /*
    * We have to handle the kernel PMU event cycles-ct/cycles-t/mem-loads/mem-stores separately.
    diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
    index c129e99114ae..12209adb7cb5 100644
    --- a/tools/perf/util/python.c
    +++ b/tools/perf/util/python.c
    @@ -1141,6 +1141,7 @@ static struct {
    PERF_CONST(COUNT_SW_ALIGNMENT_FAULTS),
    PERF_CONST(COUNT_SW_EMULATION_FAULTS),
    PERF_CONST(COUNT_SW_DUMMY),
    + PERF_CONST(COUNT_SW_SPF),

    PERF_CONST(SAMPLE_IP),
    PERF_CONST(SAMPLE_TID),
    --
    2.7.4
    \
     
     \ /
      Last update: 2017-10-11 15:55    [W:4.139 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site