| From foo@baz Sun May 27 17:33:38 CEST 2018 |
| From: Yisheng Xie <xieyisheng1@huawei.com> |
| Date: Mon, 12 Mar 2018 19:25:56 +0800 |
| Subject: perf top: Fix top.call-graph config option reading |
| |
| From: Yisheng Xie <xieyisheng1@huawei.com> |
| |
| [ Upstream commit a3a4a3b37c9b911af4c375b2475cea0fd2b84d38 ] |
| |
| When trying to add the "call-graph" variable for top into the |
| .perfconfig file, like: |
| |
| [top] |
| call-graph = fp |
| |
| I that perf_top_config() do not parse this variable. |
| |
| Fix it by calling perf_default_config() when the top.call-graph variable |
| is set. |
| |
| Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com> |
| Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Cc: Jiri Olsa <jolsa@redhat.com> |
| Cc: Namhyung Kim <namhyung@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Wang Nan <wangnan0@huawei.com> |
| Fixes: b8cbb349061e ("perf config: Bring perf_default_config to the very beginning at main()") |
| Link: http://lkml.kernel.org/r/1520853957-36106-1-git-send-email-xieyisheng1@huawei.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| tools/perf/builtin-top.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/tools/perf/builtin-top.c |
| +++ b/tools/perf/builtin-top.c |
| @@ -1061,8 +1061,10 @@ parse_callchain_opt(const struct option |
| |
| 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 */ |
| + if (!strcmp(var, "top.call-graph")) { |
| + var = "call-graph.record-mode"; |
| + return perf_default_config(var, value, cb); |
| + } |
| if (!strcmp(var, "top.children")) { |
| symbol_conf.cumulate_callchain = perf_config_bool(var, value); |
| return 0; |