lkml.org 
[lkml]   [2019]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: perf/core] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h
    The following commit has been merged into the perf/core branch of tip:

    Commit-ID: fecb410030628d70401e06a98a585d735f61d7e2
    Gitweb: https://git.kernel.org/tip/fecb410030628d70401e06a98a585d735f61d7e2
    Author: Jiri Olsa <jolsa@kernel.org>
    AuthorDate: Wed, 28 Aug 2019 15:57:01 +02:00
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitterDate: Wed, 28 Aug 2019 18:15:05 -03:00

    libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h

    Move the PERF_RECORD_ID_INDEX event definition to libperf's event.h.

    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.

    Add the PRI_ld64 define, so we can use it in printf output.

    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-8-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/lib/include/perf/event.h | 13 +++++++++++++
    tools/perf/util/event.h | 15 ++-------------
    tools/perf/util/session.c | 8 ++++----
    3 files changed, 19 insertions(+), 17 deletions(-)

    diff --git a/tools/perf/lib/include/perf/event.h b/tools/perf/lib/include/perf/event.h
    index 5e6b6d1..c68523c 100644
    --- a/tools/perf/lib/include/perf/event.h
    +++ b/tools/perf/lib/include/perf/event.h
    @@ -188,4 +188,17 @@ struct build_id_event {
    char filename[];
    };

    +struct id_index_entry {
    + __u64 id;
    + __u64 idx;
    + __u64 cpu;
    + __u64 tid;
    +};
    +
    +struct id_index_event {
    + struct perf_event_header header;
    + __u64 nr;
    + struct id_index_entry entries[0];
    +};
    +
    #endif /* __LIBPERF_EVENT_H */
    diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
    index 4b6cf89..82315d2 100644
    --- a/tools/perf/util/event.h
    +++ b/tools/perf/util/event.h
    @@ -22,9 +22,11 @@
    */
    #define PRI_lu64 "l" PRIu64
    #define PRI_lx64 "l" PRIx64
    +#define PRI_ld64 "l" PRId64
    #else
    #define PRI_lu64 PRIu64
    #define PRI_lx64 PRIx64
    +#define PRI_ld64 PRId64
    #endif

    #define PERF_SAMPLE_MASK \
    @@ -330,19 +332,6 @@ struct events_stats {
    u32 nr_proc_map_timeout;
    };

    -struct id_index_entry {
    - u64 id;
    - u64 idx;
    - u64 cpu;
    - u64 tid;
    -};
    -
    -struct id_index_event {
    - struct perf_event_header header;
    - u64 nr;
    - struct id_index_entry entries[0];
    -};
    -
    struct auxtrace_info_event {
    struct perf_event_header header;
    u32 type;
    diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
    index a275f2e..aa96674 100644
    --- a/tools/perf/util/session.c
    +++ b/tools/perf/util/session.c
    @@ -2393,10 +2393,10 @@ int perf_event__process_id_index(struct perf_session *session,
    struct perf_sample_id *sid;

    if (dump_trace) {
    - fprintf(stdout, " ... id: %"PRIu64, e->id);
    - fprintf(stdout, " idx: %"PRIu64, e->idx);
    - fprintf(stdout, " cpu: %"PRId64, e->cpu);
    - fprintf(stdout, " tid: %"PRId64"\n", e->tid);
    + fprintf(stdout, " ... id: %"PRI_lu64, e->id);
    + fprintf(stdout, " idx: %"PRI_lu64, e->idx);
    + fprintf(stdout, " cpu: %"PRI_ld64, e->cpu);
    + fprintf(stdout, " tid: %"PRI_ld64"\n", e->tid);
    }

    sid = perf_evlist__id2sid(evlist, e->id);
    \
     
     \ /
      Last update: 2019-08-29 21:04    [W:4.941 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site