lkml.org 
[lkml]   [2016]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 23/26] perf tools: Add struct perf_hpp_list argument to helper functions
    Date
    Adding struct perf_hpp_list argument to following helper functions:
    void perf_hpp__setup_output_field(struct perf_hpp_list *list);
    void perf_hpp__reset_output_field(struct perf_hpp_list *list);
    void perf_hpp__append_sort_keys(struct perf_hpp_list *list);

    so they could be used on hists's hpp_list.

    Link: http://lkml.kernel.org/n/tip-t5g9q42thptl6qaorydp2v16@git.kernel.org
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    ---
    tools/perf/ui/hist.c | 19 ++++++++++---------
    tools/perf/util/hist.h | 7 ++++---
    tools/perf/util/sort.c | 6 +++---
    3 files changed, 17 insertions(+), 15 deletions(-)

    diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
    index 35b28caf4a76..e904ed7b4e8a 100644
    --- a/tools/perf/ui/hist.c
    +++ b/tools/perf/ui/hist.c
    @@ -548,15 +548,15 @@ static bool fmt_equal(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
    return a->equal && a->equal(a, b);
    }

    -void perf_hpp__setup_output_field(void)
    +void perf_hpp__setup_output_field(struct perf_hpp_list *list)
    {
    struct perf_hpp_fmt *fmt;

    /* append sort keys to output field */
    - perf_hpp_list__for_each_sort_list(&perf_hpp_list, fmt) {
    + perf_hpp_list__for_each_sort_list(list, fmt) {
    struct perf_hpp_fmt *pos;

    - perf_hpp_list__for_each_format(&perf_hpp_list, pos) {
    + perf_hpp_list__for_each_format(list, pos) {
    if (fmt_equal(fmt, pos))
    goto next;
    }
    @@ -567,15 +567,15 @@ next:
    }
    }

    -void perf_hpp__append_sort_keys(void)
    +void perf_hpp__append_sort_keys(struct perf_hpp_list *list)
    {
    struct perf_hpp_fmt *fmt;

    /* append output fields to sort keys */
    - perf_hpp_list__for_each_format(&perf_hpp_list, fmt) {
    + perf_hpp_list__for_each_format(list, fmt) {
    struct perf_hpp_fmt *pos;

    - perf_hpp_list__for_each_sort_list(&perf_hpp_list, pos) {
    + perf_hpp_list__for_each_sort_list(list, pos) {
    if (fmt_equal(fmt, pos))
    goto next;
    }
    @@ -586,25 +586,26 @@ next:
    }
    }

    +
    static void fmt_free(struct perf_hpp_fmt *fmt)
    {
    if (fmt->free)
    fmt->free(fmt);
    }

    -void perf_hpp__reset_output_field(void)
    +void perf_hpp__reset_output_field(struct perf_hpp_list *list)
    {
    struct perf_hpp_fmt *fmt, *tmp;

    /* reset output fields */
    - perf_hpp_list__for_each_format_safe(&perf_hpp_list, fmt, tmp) {
    + perf_hpp_list__for_each_format_safe(list, fmt, tmp) {
    list_del_init(&fmt->list);
    list_del_init(&fmt->sort_list);
    fmt_free(fmt);
    }

    /* reset sort keys */
    - perf_hpp_list__for_each_sort_list_safe(&perf_hpp_list, fmt, tmp) {
    + perf_hpp_list__for_each_sort_list_safe(list, fmt, tmp) {
    list_del_init(&fmt->list);
    list_del_init(&fmt->sort_list);
    fmt_free(fmt);
    diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
    index c9bd23537c1d..01c321e07cb3 100644
    --- a/tools/perf/util/hist.h
    +++ b/tools/perf/util/hist.h
    @@ -279,9 +279,10 @@ enum {
    void perf_hpp__init(void);
    void perf_hpp__column_unregister(struct perf_hpp_fmt *format);
    void perf_hpp__cancel_cumulate(void);
    -void perf_hpp__setup_output_field(void);
    -void perf_hpp__reset_output_field(void);
    -void perf_hpp__append_sort_keys(void);
    +void perf_hpp__setup_output_field(struct perf_hpp_list *list);
    +void perf_hpp__reset_output_field(struct perf_hpp_list *list);
    +void perf_hpp__append_sort_keys(struct perf_hpp_list *list);
    +

    bool perf_hpp__is_sort_entry(struct perf_hpp_fmt *format);
    bool perf_hpp__is_dynamic_entry(struct perf_hpp_fmt *format);
    diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
    index 0194dd145401..b4f9841392fa 100644
    --- a/tools/perf/util/sort.c
    +++ b/tools/perf/util/sort.c
    @@ -2637,9 +2637,9 @@ int setup_sorting(struct perf_evlist *evlist)
    return err;

    /* copy sort keys to output fields */
    - perf_hpp__setup_output_field();
    + perf_hpp__setup_output_field(&perf_hpp_list);
    /* and then copy output fields to sort keys */
    - perf_hpp__append_sort_keys();
    + perf_hpp__append_sort_keys(&perf_hpp_list);

    return 0;
    }
    @@ -2655,5 +2655,5 @@ void reset_output_field(void)
    sort_order = NULL;

    reset_dimensions();
    - perf_hpp__reset_output_field();
    + perf_hpp__reset_output_field(&perf_hpp_list);
    }
    --
    2.4.3

    \
     
     \ /
      Last update: 2016-01-18 11:01    [W:4.343 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site