lkml.org 
[lkml]   [2016]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/29] perf hists: Introduce struct perf_hpp_list
    Date
    From: Jiri Olsa <jolsa@kernel.org>

    Gather output and sort lists under struct perf_hpp_list, so we could
    have multiple instancies of sort/output format entries.

    Replacing current perf_hpp__list and perf_hpp__sort_list lists with
    single perf_hpp_list instance.

    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1453109064-1026-15-git-send-email-jolsa@kernel.org
    [ Renamed fields to .{fields,sorts} as suggested by Namhyung and acked by Jiri ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/ui/hist.c | 11 ++++++-----
    tools/perf/util/hist.h | 16 ++++++++++------
    2 files changed, 16 insertions(+), 11 deletions(-)

    diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
    index 2cd1a03bf375..74dbeac4753b 100644
    --- a/tools/perf/ui/hist.c
    +++ b/tools/perf/ui/hist.c
    @@ -436,9 +436,10 @@ struct perf_hpp_fmt perf_hpp__format[] = {
    HPP__PRINT_FNS("Period", period, PERIOD)
    };

    -LIST_HEAD(perf_hpp__list);
    -LIST_HEAD(perf_hpp__sort_list);
    -
    +struct perf_hpp_list perf_hpp_list = {
    + .fields = LIST_HEAD_INIT(perf_hpp_list.fields),
    + .sorts = LIST_HEAD_INIT(perf_hpp_list.sorts),
    +};

    #undef HPP__COLOR_PRINT_FNS
    #undef HPP__COLOR_ACC_PRINT_FNS
    @@ -506,7 +507,7 @@ void perf_hpp__init(void)

    void perf_hpp__column_register(struct perf_hpp_fmt *format)
    {
    - list_add_tail(&format->list, &perf_hpp__list);
    + list_add_tail(&format->list, &perf_hpp_list.fields);
    }

    void perf_hpp__column_unregister(struct perf_hpp_fmt *format)
    @@ -516,7 +517,7 @@ void perf_hpp__column_unregister(struct perf_hpp_fmt *format)

    void perf_hpp__register_sort_field(struct perf_hpp_fmt *format)
    {
    - list_add_tail(&format->sort_list, &perf_hpp__sort_list);
    + list_add_tail(&format->sort_list, &perf_hpp_list.sorts);
    }

    void perf_hpp__cancel_cumulate(void)
    diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
    index f3bcf2d38733..203397a6ea07 100644
    --- a/tools/perf/util/hist.h
    +++ b/tools/perf/util/hist.h
    @@ -226,20 +226,24 @@ struct perf_hpp_fmt {
    int idx;
    };

    -extern struct list_head perf_hpp__list;
    -extern struct list_head perf_hpp__sort_list;
    +struct perf_hpp_list {
    + struct list_head fields;
    + struct list_head sorts;
    +};
    +
    +extern struct perf_hpp_list perf_hpp_list;

    #define perf_hpp__for_each_format(format) \
    - list_for_each_entry(format, &perf_hpp__list, list)
    + list_for_each_entry(format, &perf_hpp_list.fields, list)

    #define perf_hpp__for_each_format_safe(format, tmp) \
    - list_for_each_entry_safe(format, tmp, &perf_hpp__list, list)
    + list_for_each_entry_safe(format, tmp, &perf_hpp_list.fields, list)

    #define perf_hpp__for_each_sort_list(format) \
    - list_for_each_entry(format, &perf_hpp__sort_list, sort_list)
    + list_for_each_entry(format, &perf_hpp_list.sorts, sort_list)

    #define perf_hpp__for_each_sort_list_safe(format, tmp) \
    - list_for_each_entry_safe(format, tmp, &perf_hpp__sort_list, sort_list)
    + list_for_each_entry_safe(format, tmp, &perf_hpp_list.sorts, sort_list)

    extern struct perf_hpp_fmt perf_hpp__format[];

    --
    2.5.0
    \
     
     \ /
      Last update: 2016-02-03 18:21    [W:6.732 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site