|
@@ -737,7 +737,8 @@ static void apply_config_terms(struct perf_evsel *evsel,
|
|
* enable/disable events specifically, as there's no
|
|
* enable/disable events specifically, as there's no
|
|
* initial traced exec call.
|
|
* initial traced exec call.
|
|
*/
|
|
*/
|
|
-void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
|
|
|
|
|
|
+void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts,
|
|
|
|
+ struct callchain_param *callchain)
|
|
{
|
|
{
|
|
struct perf_evsel *leader = evsel->leader;
|
|
struct perf_evsel *leader = evsel->leader;
|
|
struct perf_event_attr *attr = &evsel->attr;
|
|
struct perf_event_attr *attr = &evsel->attr;
|
|
@@ -812,8 +813,8 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
|
|
if (perf_evsel__is_function_event(evsel))
|
|
if (perf_evsel__is_function_event(evsel))
|
|
evsel->attr.exclude_callchain_user = 1;
|
|
evsel->attr.exclude_callchain_user = 1;
|
|
|
|
|
|
- if (callchain_param.enabled && !evsel->no_aux_samples)
|
|
|
|
- perf_evsel__config_callgraph(evsel, opts, &callchain_param);
|
|
|
|
|
|
+ if (callchain && callchain->enabled && !evsel->no_aux_samples)
|
|
|
|
+ perf_evsel__config_callgraph(evsel, opts, callchain);
|
|
|
|
|
|
if (opts->sample_intr_regs) {
|
|
if (opts->sample_intr_regs) {
|
|
attr->sample_regs_intr = opts->sample_intr_regs;
|
|
attr->sample_regs_intr = opts->sample_intr_regs;
|