All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: acme@infradead.org, namhyung@kernel.org, mingo@kernel.org,
	dsahern@gmail.com, fweisbec@gmail.com, adrian.hunter@intel.com,
	linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 3/6] perf, tools: Add --branch-history option to report v2
Date: Wed, 15 Jan 2014 15:44:42 +0100	[thread overview]
Message-ID: <20140115144442.GA14966@krava.redhat.com> (raw)
In-Reply-To: <1389661461-18996-4-git-send-email-andi@firstfloor.org>

On Mon, Jan 13, 2014 at 05:04:18PM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
> 
> Add a --branch-history option to perf report that changes all
> the settings necessary for using the branches in callstacks.
> 
> This is just a short cut to make this nicer to use, it does
> not enable any functionality by itself.
> 
> v2: Change sort order. Rename option to --branch-history to
> be less confusing.
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> ---

SNIP

> @@ -729,7 +739,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
>  	struct perf_session *session;
>  	struct stat st;
>  	bool has_br_stack = false;
> -	int branch_mode = -1;
> +	int branch_mode = -1, branch_call_mode = -1;
>  	int ret = -1;
>  	char callchain_default_opt[] = "fractal,0.5,callee";
>  	const char * const report_usage[] = {
> @@ -838,7 +848,10 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
>  	OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
>  		    "Show event group information together"),
>  	OPT_CALLBACK_NOOPT('b', "branch-stack", &branch_mode, "",
> -		    "use branch records for histogram filling", parse_branch_mode),
> +		    "use branch records for per branch histogram filling", parse_branch_mode),
> +	OPT_CALLBACK_NOOPT(0, "branch-history", &branch_call_mode, "",
> +		    "add last branch records to call history",
> +		    parse_branch_call_mode),
>  	OPT_STRING(0, "objdump", &objdump_path, "path",
>  		   "objdump binary to use for disassembly and annotations"),
>  	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
> @@ -886,8 +899,16 @@ repeat:
>  	has_br_stack = perf_header__has_feat(&session->header,
>  					     HEADER_BRANCH_STACK);
>  
> -	if (branch_mode == -1 && has_br_stack)
> +	if (branch_mode == -1 && has_br_stack && branch_call_mode == -1)
>  		sort__mode = SORT_MODE__BRANCH;
> +	if (branch_call_mode != -1) {
> +		callchain_param.branch_callstack = 1;
> +		callchain_param.key = CCKEY_ADDRESS;
> +		symbol_conf.use_callchain = true;
> +		callchain_register_param(&callchain_param);
> +		if (sort_order == default_sort_order)
> +			sort_order = "srcline,symbol,dso";
> +	}

this sort of settings needs to be in for the previous patch,
to make the following command work:

  $ perf report --call-graph=fractal,0.5,callee,function,branch

will just set symbol_conf.use_callchain, but the sorting stays
as SORT_MODE__BRANCH.. and callchains are invisible

as you said in the changelog, this should be 'short cut to make this nicer to use',
but it's actually currently the only way..

jirka

  reply	other threads:[~2014-01-15 14:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-14  1:04 Implement lbr-as-callgraph v3 Andi Kleen
2014-01-14  1:04 ` [PATCH 1/6] perf, tools: fix BFD detection on opensuse Andi Kleen
2014-01-14  1:04 ` [PATCH 2/6] perf, tools: Support handling complete branch stacks as histograms v3 Andi Kleen
2014-01-15 14:48   ` Jiri Olsa
2014-01-15 15:27     ` Andi Kleen
2014-01-15 15:45       ` Jiri Olsa
2014-01-15 15:00   ` Jiri Olsa
2014-01-14  1:04 ` [PATCH 3/6] perf, tools: Add --branch-history option to report v2 Andi Kleen
2014-01-15 14:44   ` Jiri Olsa [this message]
2014-01-15 15:23     ` Andi Kleen
2014-01-15 15:42       ` Jiri Olsa
2014-01-14  1:04 ` [PATCH 4/6] perf, tools: Enable printing the srcline in the history Andi Kleen
2014-01-15 15:12   ` Jiri Olsa
2014-01-14  1:04 ` [PATCH 5/6] perf, tools: Only print base source file for srcline Andi Kleen
2014-01-14  1:04 ` [PATCH 6/6] perf, tools: Support source line numbers in annotate Andi Kleen
2014-01-15 13:59 ` Implement lbr-as-callgraph v3 Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140115144442.GA14966@krava.redhat.com \
    --to=jolsa@redhat.com \
    --cc=acme@infradead.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.