Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8cbb349 authored by Wang Nan's avatar Wang Nan Committed by Arnaldo Carvalho de Melo
Browse files

perf config: Bring perf_default_config to the very beginning at main()



Before this patch each subcommand calls perf_config() by themself,
reading the default configuration together with subcommand specific
options. If a subcommand doesn't have it own options, it needs to call
'perf_config(perf_default_config, NULL)' to ensure .perfconfig is
loaded.

This patch brings perf_config(perf_default_config, NULL) to the very
start of main(), so subcommands don't need to do it.

After this patch, 'llvm.clang-path' works for 'perf trace'.

Signed-off-by: default avatarWang Nan <wangnan0@huawei.com>
Suggested-and-Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1456479154-136027-4-git-send-email-wangnan0@huawei.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent abab5e7f
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1264,8 +1264,6 @@ int cmd_diff(int argc, const char **argv, const char *prefix __maybe_unused)
	if (ret < 0)
		return ret;

	perf_config(perf_default_config, NULL);

	argc = parse_options(argc, argv, options, diff_usage, 0);

	if (symbol__init(NULL) < 0)
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ static int perf_help_config(const char *var, const char *value, void *cb)
	if (!prefixcmp(var, "man."))
		return add_man_viewer_info(var, value);

	return perf_default_config(var, value, cb);
	return 0;
}

static struct cmdnames main_cmds, other_cmds;
+2 −2
Original line number Diff line number Diff line
@@ -1834,7 +1834,7 @@ static int __cmd_record(int argc, const char **argv)
	return cmd_record(i, rec_argv, NULL);
}

static int kmem_config(const char *var, const char *value, void *cb)
static int kmem_config(const char *var, const char *value, void *cb __maybe_unused)
{
	if (!strcmp(var, "kmem.default")) {
		if (!strcmp(value, "slab"))
@@ -1847,7 +1847,7 @@ static int kmem_config(const char *var, const char *value, void *cb)
		return 0;
	}

	return perf_default_config(var, value, cb);
	return 0;
}

int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ static int report__config(const char *var, const char *value, void *cb)
		return 0;
	}

	return perf_default_config(var, value, cb);
	return 0;
}

static int hist_iter__report_callback(struct hist_entry_iter *iter,
+2 −2
Original line number Diff line number Diff line
@@ -1065,7 +1065,7 @@ parse_callchain_opt(const struct option *opt, const char *arg, int unset)
	return parse_callchain_top_opt(arg);
}

static int perf_top_config(const char *var, const char *value, void *cb)
static int perf_top_config(const char *var, const char *value, void *cb __maybe_unused)
{
	if (!strcmp(var, "top.call-graph"))
		var = "call-graph.record-mode"; /* fall-through */
@@ -1074,7 +1074,7 @@ static int perf_top_config(const char *var, const char *value, void *cb)
		return 0;
	}

	return perf_default_config(var, value, cb);
	return 0;
}

static int
Loading