lkml.org 
[lkml]   [2018]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 21/24] 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 e0739a1aa4b2..164383273147 100644
    --- a/tools/include/uapi/linux/perf_event.h
    +++ b/tools/include/uapi/linux/perf_event.h
    @@ -112,6 +112,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 66fa45198a11..7fddb37f44ca 100644
    --- a/tools/perf/util/evsel.c
    +++ b/tools/perf/util/evsel.c
    @@ -438,6 +438,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 34589c427e52..2a8189c6d5fc 100644
    --- a/tools/perf/util/parse-events.c
    +++ b/tools/perf/util/parse-events.c
    @@ -140,6 +140,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 655ecff636a8..5d6782426b30 100644
    --- a/tools/perf/util/parse-events.l
    +++ b/tools/perf/util/parse-events.l
    @@ -308,6 +308,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 b1e999bd21ef..100507d632fa 100644
    --- a/tools/perf/util/python.c
    +++ b/tools/perf/util/python.c
    @@ -1142,6 +1142,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: 2018-02-16 16:29    [W:4.102 / U:0.440 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site