From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753094AbbI1UDU (ORCPT ); Mon, 28 Sep 2015 16:03:20 -0400 Received: from mail.kernel.org ([198.145.29.136]:52708 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751297AbbI1UDQ (ORCPT ); Mon, 28 Sep 2015 16:03:16 -0400 Date: Mon, 28 Sep 2015 17:03:09 -0300 From: Arnaldo Carvalho de Melo To: Adrian Hunter Cc: Jiri Olsa , linux-kernel@vger.kernel.org Subject: Re: [PATCH 15/25] perf report: Make max_stack value allow for synthesized callchains Message-ID: <20150928200309.GB9392@kernel.org> References: <1443186956-18718-1-git-send-email-adrian.hunter@intel.com> <1443186956-18718-16-git-send-email-adrian.hunter@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1443186956-18718-16-git-send-email-adrian.hunter@intel.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, Sep 25, 2015 at 04:15:46PM +0300, Adrian Hunter escreveu: > perf report has an option (--max-stack) to set the maximum stack depth > when processing callchains. The option defaults to the hard-coded > maximum definition PERF_MAX_STACK_DEPTH which is 127. The intention of > the option is to allow the user to reduce the processing time by > reducing the amount of the callchain that is processed. > > It is also possible, when processing instruction traces, to synthesize > callchains. Synthesized callchains do not have the kernel size > limitation and are whatever size the user requests, although validation > presently prevents the user requested a value greater that 1024. The > default value is 16. So, haven't checked the options, but one can possibly use both the way itrace has to ask for a max stack size and also via --max-stack, right? In that case we better emit a warning or plain state that one either uses one way of setting the max stack or the other? I'm applying the patch, because it is unlikely that this gets specified, but would be good to close this gap. - Arnaldo > To allow for synthesized callchains, make the max_stack value at least > the same size as the synthesized callchain size. > > Signed-off-by: Adrian Hunter > --- > tools/perf/builtin-report.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index e94e5c7155af..37c9f5125887 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -809,6 +809,10 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused) > if (report.inverted_callchain) > callchain_param.order = ORDER_CALLER; > > + if (itrace_synth_opts.callchain && > + (int)itrace_synth_opts.callchain_sz > report.max_stack) > + report.max_stack = itrace_synth_opts.callchain_sz; > + > if (!input_name || !strlen(input_name)) { > if (!fstat(STDIN_FILENO, &st) && S_ISFIFO(st.st_mode)) > input_name = "-"; > -- > 1.9.1