On Wed, Jul 29, 2015 at 05:42:15AM -0400, Kan Liang wrote:

SNIP

> +
> +     /* User explicitly set per-event callgraph, clear the old setting and 
> reset. */
> +     if ((callgraph_buf != NULL) || (dump_size > 0)) {
> +
> +             /* parse callgraph parameters */
> +             if (callgraph_buf != NULL) {
> +                     if (!strcmp(callgraph_buf, "no")) {
> +                             param.enabled = false;
> +                             param.record_mode = CALLCHAIN_NONE;
> +                     } else {
> +                             param.enabled = true;
> +                             if (parse_callchain_record_opt(callgraph_buf, 
> &param)) {
> +                                     pr_err("per-event callgraph setting for 
> %s failed. "
> +                                            "Apply callgraph global setting 
> for it\n",
> +                                            evsel->name);
> +                                     return;
> +                             }
> +                     }
> +             }
> +             if (dump_size > 0)
> +                     param.dump_size = dump_size;
> +
> +             /* If global callgraph set, clear it */
> +             if (callchain_param.enabled) {
> +                     perf_evsel__reset_sample_bit(evsel, CALLCHAIN);
> +                     if (callchain_param.record_mode == CALLCHAIN_LBR) {
> +                             perf_evsel__reset_sample_bit(evsel, 
> BRANCH_STACK);
> +                             attr->branch_sample_type &= 
> ~(PERF_SAMPLE_BRANCH_USER |
> +                                                           
> PERF_SAMPLE_BRANCH_CALL_STACK);
> +                     }
> +                     if (callchain_param.record_mode == CALLCHAIN_DWARF) {
> +                             perf_evsel__reset_sample_bit(evsel, REGS_USER);
> +                             perf_evsel__reset_sample_bit(evsel, STACK_USER);
> +                     }
> +             }

please put code above into perf_evsel__reset_callgraph
ans place it close to perf_evsel__config_callgraph ;-)

other than that the change looks ok to me now

thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to