Re: [PATCH v3 1/9] perf hists: Move hists_init() from util/evsel.cto util/hist.c

From: Arnaldo Carvalho de Melo
Date: Mon Sep 24 2012 - 12:03:22 EST


Em Mon, Sep 24, 2012 at 11:24:03PM +0800, Feng Tang escreveu:
> Which looks more natural

It is there to avoid dragging the hist code into the python binding :-\

- Arnaldo

> Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx>
> ---
> tools/perf/util/evsel.c | 10 ----------
> tools/perf/util/evsel.h | 2 --
> tools/perf/util/hist.c | 10 ++++++++++
> tools/perf/util/hist.h | 1 +
> 4 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index 1506ba0..4c7328d 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -39,16 +39,6 @@ static int __perf_evsel__sample_size(u64 sample_type)
> return size;
> }
>
> -void hists__init(struct hists *hists)
> -{
> - memset(hists, 0, sizeof(*hists));
> - hists->entries_in_array[0] = hists->entries_in_array[1] = RB_ROOT;
> - hists->entries_in = &hists->entries_in_array[0];
> - hists->entries_collapsed = RB_ROOT;
> - hists->entries = RB_ROOT;
> - pthread_mutex_init(&hists->lock, NULL);
> -}
> -
> void perf_evsel__init(struct perf_evsel *evsel,
> struct perf_event_attr *attr, int idx)
> {
> diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
> index 93876ba..af0bc97 100644
> --- a/tools/perf/util/evsel.h
> +++ b/tools/perf/util/evsel.h
> @@ -197,8 +197,6 @@ static inline int perf_evsel__read_scaled(struct perf_evsel *evsel,
> return __perf_evsel__read(evsel, ncpus, nthreads, true);
> }
>
> -void hists__init(struct hists *hists);
> -
> int perf_evsel__parse_sample(struct perf_evsel *evsel, union perf_event *event,
> struct perf_sample *sample, bool swapped);
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 6ec5398..d3689e5 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -690,3 +690,13 @@ void hists__inc_nr_events(struct hists *hists, u32 type)
> ++hists->stats.nr_events[0];
> ++hists->stats.nr_events[type];
> }
> +
> +void hists__init(struct hists *hists)
> +{
> + memset(hists, 0, sizeof(*hists));
> + hists->entries_in_array[0] = hists->entries_in_array[1] = RB_ROOT;
> + hists->entries_in = &hists->entries_in_array[0];
> + hists->entries_collapsed = RB_ROOT;
> + hists->entries = RB_ROOT;
> + pthread_mutex_init(&hists->lock, NULL);
> +}
> diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
> index f011ad4..4edfb74 100644
> --- a/tools/perf/util/hist.h
> +++ b/tools/perf/util/hist.h
> @@ -70,6 +70,7 @@ struct hists {
> u16 col_len[HISTC_NR_COLS];
> };
>
> +void hists__init(struct hists *hists);
> struct hist_entry *__hists__add_entry(struct hists *self,
> struct addr_location *al,
> struct symbol *parent, u64 period);
> --
> 1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/