perf evsel: Check if callchain is enabled before setting it up
The construct: if (callchain_param) perf_evsel__config_callchain(evsel, opts, &callchain_param); happens in several places, so make perf_evsel__config_callchain() work just like free(NULL), do nothing if param->enabled is not set. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Hendrick Brueckner <brueckner@linux.vnet.ibm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Thomas Richter <tmricht@linux.vnet.ibm.com> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-ykk0qzxnxwx3o611ctjnmxav@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
fa1195ccc0
commit
1688c2fdf6
|
@ -651,9 +651,9 @@ int perf_evsel__group_desc(struct perf_evsel *evsel, char *buf, size_t size)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void perf_evsel__config_callchain(struct perf_evsel *evsel,
|
||||
struct record_opts *opts,
|
||||
struct callchain_param *param)
|
||||
static void __perf_evsel__config_callchain(struct perf_evsel *evsel,
|
||||
struct record_opts *opts,
|
||||
struct callchain_param *param)
|
||||
{
|
||||
bool function = perf_evsel__is_function_event(evsel);
|
||||
struct perf_event_attr *attr = &evsel->attr;
|
||||
|
@ -699,6 +699,14 @@ void perf_evsel__config_callchain(struct perf_evsel *evsel,
|
|||
}
|
||||
}
|
||||
|
||||
void perf_evsel__config_callchain(struct perf_evsel *evsel,
|
||||
struct record_opts *opts,
|
||||
struct callchain_param *param)
|
||||
{
|
||||
if (param->enabled)
|
||||
return __perf_evsel__config_callchain(evsel, opts, param);
|
||||
}
|
||||
|
||||
static void
|
||||
perf_evsel__reset_callgraph(struct perf_evsel *evsel,
|
||||
struct callchain_param *param)
|
||||
|
|
Loading…
Reference in New Issue