Re: [PATCH V6 3/7] perf,tools: rename perf_session_env and add backpointer to evlist

From: Arnaldo Carvalho de Melo
Date: Fri Aug 28 2015 - 11:16:16 EST


Em Thu, Aug 27, 2015 at 08:07:39AM -0400, Kan Liang escreveu:
> From: Kan Liang <kan.liang@xxxxxxxxx>
>
> Rename perf_session_env to perf_env.

the above is a separate patch.

> Add backpointer to evlist, so we can easily access env when processing
> something where we have a evsel or evlist.

This one is another, please break it down. I was almost cherry picking
this one :-)

Try to avoid folding multiple stuff in a single patch, we have to try
hard to ease reviewing, as the upstream you go, the more patches one has
to process, anything you can do to ease the reviewing process adds up.

Also please try collecting "Acked-by" as you go bumping your patch
series version, i.e. maybe Jiri has acked some of the patches when you
published V4 or V5, those should be here, kudos if you've already did
this.

- Arnaldo

>
> Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
> ---
> tools/perf/arch/common.c | 4 ++--
> tools/perf/arch/common.h | 2 +-
> tools/perf/ui/browser.h | 4 ++--
> tools/perf/ui/browsers/header.c | 2 +-
> tools/perf/ui/browsers/hists.c | 12 ++++++------
> tools/perf/util/evlist.h | 1 +
> tools/perf/util/header.c | 1 +
> tools/perf/util/header.h | 4 ++--
> tools/perf/util/hist.h | 4 ++--
> tools/perf/util/session.c | 2 +-
> tools/perf/util/symbol.c | 4 ++--
> tools/perf/util/symbol.h | 4 ++--
> 12 files changed, 23 insertions(+), 21 deletions(-)
>
> diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
> index b7bb42c..b00dfd92 100644
> --- a/tools/perf/arch/common.c
> +++ b/tools/perf/arch/common.c
> @@ -128,7 +128,7 @@ static const char *normalize_arch(char *arch)
> return arch;
> }
>
> -static int perf_session_env__lookup_binutils_path(struct perf_session_env *env,
> +static int perf_session_env__lookup_binutils_path(struct perf_env *env,
> const char *name,
> const char **path)
> {
> @@ -206,7 +206,7 @@ out_error:
> return -1;
> }
>
> -int perf_session_env__lookup_objdump(struct perf_session_env *env)
> +int perf_session_env__lookup_objdump(struct perf_env *env)
> {
> /*
> * For live mode, env->arch will be NULL and we can use
> diff --git a/tools/perf/arch/common.h b/tools/perf/arch/common.h
> index ede246e..20176df 100644
> --- a/tools/perf/arch/common.h
> +++ b/tools/perf/arch/common.h
> @@ -5,6 +5,6 @@
>
> extern const char *objdump_path;
>
> -int perf_session_env__lookup_objdump(struct perf_session_env *env);
> +int perf_session_env__lookup_objdump(struct perf_env *env);
>
> #endif /* ARCH_PERF_COMMON_H */
> diff --git a/tools/perf/ui/browser.h b/tools/perf/ui/browser.h
> index 52be871..f3cef56 100644
> --- a/tools/perf/ui/browser.h
> +++ b/tools/perf/ui/browser.h
> @@ -61,8 +61,8 @@ int ui_browser__help_window(struct ui_browser *browser, const char *text);
> bool ui_browser__dialog_yesno(struct ui_browser *browser, const char *text);
> int ui_browser__input_window(const char *title, const char *text, char *input,
> const char *exit_msg, int delay_sec);
> -struct perf_session_env;
> -int tui__header_window(struct perf_session_env *env);
> +struct perf_env;
> +int tui__header_window(struct perf_env *env);
>
> void ui_browser__argv_seek(struct ui_browser *browser, off_t offset, int whence);
> unsigned int ui_browser__argv_refresh(struct ui_browser *browser);
> diff --git a/tools/perf/ui/browsers/header.c b/tools/perf/ui/browsers/header.c
> index f106817..edbeaaf 100644
> --- a/tools/perf/ui/browsers/header.c
> +++ b/tools/perf/ui/browsers/header.c
> @@ -91,7 +91,7 @@ static int ui__list_menu(int argc, char * const argv[])
> return list_menu__run(&menu);
> }
>
> -int tui__header_window(struct perf_session_env *env)
> +int tui__header_window(struct perf_env *env)
> {
> int i, argc = 0;
> char **argv;
> diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
> index 10c7ec0..cf86f2d 100644
> --- a/tools/perf/ui/browsers/hists.c
> +++ b/tools/perf/ui/browsers/hists.c
> @@ -26,7 +26,7 @@ struct hist_browser {
> struct map_symbol *selection;
> struct hist_browser_timer *hbt;
> struct pstack *pstack;
> - struct perf_session_env *env;
> + struct perf_env *env;
> int print_seq;
> bool show_dso;
> bool show_headers;
> @@ -1214,7 +1214,7 @@ static int hist_browser__dump(struct hist_browser *browser)
>
> static struct hist_browser *hist_browser__new(struct hists *hists,
> struct hist_browser_timer *hbt,
> - struct perf_session_env *env)
> + struct perf_env *env)
> {
> struct hist_browser *browser = zalloc(sizeof(*browser));
>
> @@ -1695,7 +1695,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
> bool left_exits,
> struct hist_browser_timer *hbt,
> float min_pcnt,
> - struct perf_session_env *env)
> + struct perf_env *env)
> {
> struct hists *hists = evsel__hists(evsel);
> struct hist_browser *browser = hist_browser__new(hists, hbt, env);
> @@ -2016,7 +2016,7 @@ struct perf_evsel_menu {
> struct perf_evsel *selection;
> bool lost_events, lost_events_warned;
> float min_pcnt;
> - struct perf_session_env *env;
> + struct perf_env *env;
> };
>
> static void perf_evsel_menu__write(struct ui_browser *browser,
> @@ -2169,7 +2169,7 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
> int nr_entries, const char *help,
> struct hist_browser_timer *hbt,
> float min_pcnt,
> - struct perf_session_env *env)
> + struct perf_env *env)
> {
> struct perf_evsel *pos;
> struct perf_evsel_menu menu = {
> @@ -2202,7 +2202,7 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
> int perf_evlist__tui_browse_hists(struct perf_evlist *evlist, const char *help,
> struct hist_browser_timer *hbt,
> float min_pcnt,
> - struct perf_session_env *env)
> + struct perf_env *env)
> {
> int nr_entries = evlist->nr_entries;
>
> diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
> index 436e358..b39a619 100644
> --- a/tools/perf/util/evlist.h
> +++ b/tools/perf/util/evlist.h
> @@ -56,6 +56,7 @@ struct perf_evlist {
> struct cpu_map *cpus;
> struct perf_evsel *selected;
> struct events_stats stats;
> + struct perf_env *env;
> };
>
> struct perf_evsel_str_handler {
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index 8df0582..c3c79cb 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -2576,6 +2576,7 @@ int perf_session__read_header(struct perf_session *session)
> if (session->evlist == NULL)
> return -ENOMEM;
>
> + session->evlist->env = &header->env;
> if (perf_data_file__is_pipe(file))
> return perf_header__read_pipe(session);
>
> diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h
> index a2c8c90..921b3ee 100644
> --- a/tools/perf/util/header.h
> +++ b/tools/perf/util/header.h
> @@ -72,7 +72,7 @@ enum perf_header_cpu_attr {
> PERF_HEADER_CPU_ATTR_MAX,
> };
>
> -struct perf_session_env {
> +struct perf_env {
> char *hostname;
> char *os_release;
> char *version;
> @@ -111,7 +111,7 @@ struct perf_header {
> u64 data_size;
> u64 feat_offset;
> DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);
> - struct perf_session_env env;
> + struct perf_env env;
> };
>
> struct perf_evlist;
> diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
> index bc528d5..de6d58e 100644
> --- a/tools/perf/util/hist.h
> +++ b/tools/perf/util/hist.h
> @@ -313,7 +313,7 @@ int hist_entry__tui_annotate(struct hist_entry *he, struct perf_evsel *evsel,
> int perf_evlist__tui_browse_hists(struct perf_evlist *evlist, const char *help,
> struct hist_browser_timer *hbt,
> float min_pcnt,
> - struct perf_session_env *env);
> + struct perf_env *env);
> int script_browse(const char *script_opt);
> #else
> static inline
> @@ -321,7 +321,7 @@ int perf_evlist__tui_browse_hists(struct perf_evlist *evlist __maybe_unused,
> const char *help __maybe_unused,
> struct hist_browser_timer *hbt __maybe_unused,
> float min_pcnt __maybe_unused,
> - struct perf_session_env *env __maybe_unused)
> + struct perf_env *env __maybe_unused)
> {
> return 0;
> }
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 18722e7..8a4537e 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -170,7 +170,7 @@ static void perf_session__delete_threads(struct perf_session *session)
> machine__delete_threads(&session->machines.host);
> }
>
> -static void perf_session_env__exit(struct perf_session_env *env)
> +static void perf_session_env__exit(struct perf_env *env)
> {
> zfree(&env->hostname);
> zfree(&env->os_release);
> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> index 725640f..f14c06e 100644
> --- a/tools/perf/util/symbol.c
> +++ b/tools/perf/util/symbol.c
> @@ -1843,7 +1843,7 @@ static void vmlinux_path__exit(void)
> zfree(&vmlinux_path);
> }
>
> -static int vmlinux_path__init(struct perf_session_env *env)
> +static int vmlinux_path__init(struct perf_env *env)
> {
> struct utsname uts;
> char bf[PATH_MAX];
> @@ -1954,7 +1954,7 @@ static bool symbol__read_kptr_restrict(void)
> return value;
> }
>
> -int symbol__init(struct perf_session_env *env)
> +int symbol__init(struct perf_env *env)
> {
> const char *symfs;
>
> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
> index a4cde92..440ba8a 100644
> --- a/tools/perf/util/symbol.h
> +++ b/tools/perf/util/symbol.h
> @@ -252,8 +252,8 @@ int modules__parse(const char *filename, void *arg,
> int filename__read_debuglink(const char *filename, char *debuglink,
> size_t size);
>
> -struct perf_session_env;
> -int symbol__init(struct perf_session_env *env);
> +struct perf_env;
> +int symbol__init(struct perf_env *env);
> void symbol__exit(void);
> void symbol__elf_init(void);
> struct symbol *symbol__new(u64 start, u64 len, u8 binding, const char *name);
> --
> 1.8.3.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/