lkml.org 
[lkml]   [2019]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf cpumap: Retrieve die id information
    Commit-ID:  b74d8686a18b36adecc710597198d5ef2dd5ef14
    Gitweb: https://git.kernel.org/tip/b74d8686a18b36adecc710597198d5ef2dd5ef14
    Author: Kan Liang <kan.liang@linux.intel.com>
    AuthorDate: Tue, 4 Jun 2019 15:50:40 -0700
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Mon, 10 Jun 2019 15:50:02 -0300

    perf cpumap: Retrieve die id information

    There is no function to retrieve die id information of a given CPU.

    Add cpu_map__get_die_id() to retrieve die id information.

    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Reviewed-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1559688644-106558-1-git-send-email-kan.liang@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/cpumap.c | 7 +++++++
    tools/perf/util/cpumap.h | 1 +
    2 files changed, 8 insertions(+)

    diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c
    index 0b599229bc7e..7db1365c667e 100644
    --- a/tools/perf/util/cpumap.c
    +++ b/tools/perf/util/cpumap.c
    @@ -373,6 +373,13 @@ int cpu_map__build_map(struct cpu_map *cpus, struct cpu_map **res,
    return 0;
    }

    +int cpu_map__get_die_id(int cpu)
    +{
    + int value, ret = cpu__get_topology_int(cpu, "die_id", &value);
    +
    + return ret ?: value;
    +}
    +
    int cpu_map__get_core_id(int cpu)
    {
    int value, ret = cpu__get_topology_int(cpu, "core_id", &value);
    diff --git a/tools/perf/util/cpumap.h b/tools/perf/util/cpumap.h
    index f00ce624b9f7..6762ff9e7ad5 100644
    --- a/tools/perf/util/cpumap.h
    +++ b/tools/perf/util/cpumap.h
    @@ -25,6 +25,7 @@ size_t cpu_map__snprint_mask(struct cpu_map *map, char *buf, size_t size);
    size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp);
    int cpu_map__get_socket_id(int cpu);
    int cpu_map__get_socket(struct cpu_map *map, int idx, void *data);
    +int cpu_map__get_die_id(int cpu);
    int cpu_map__get_core_id(int cpu);
    int cpu_map__get_core(struct cpu_map *map, int idx, void *data);
    int cpu_map__build_socket_map(struct cpu_map *cpus, struct cpu_map **sockp);
    \
     
     \ /
      Last update: 2019-06-17 21:33    [W:4.452 / U:0.496 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site