All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: kan.liang@intel.com
Cc: acme@kernel.org, a.p.zijlstra@chello.nl, eranian@google.com,
	linux-kernel@vger.kernel.org, mingo@redhat.com, paulus@samba.org,
	ak@linux.intel.com
Subject: Re: [PATCH 2/2] perf tools: Construct LBR call chain
Date: Wed, 12 Nov 2014 09:59:14 +0100	[thread overview]
Message-ID: <20141112085914.GC25338@krava> (raw)
In-Reply-To: <1415285886-16949-3-git-send-email-kan.liang@intel.com>

On Thu, Nov 06, 2014 at 09:58:06AM -0500, kan.liang@intel.com wrote:

SNIP

>  
> -static void callchain__printf(struct perf_sample *sample)
> +static void callchain__printf(struct perf_evsel *evsel,
> +			      struct perf_sample *sample)
>  {
>  	unsigned int i;
> +	u64 total_nr, callchain_nr;
> +	int lbr = 0;
>  
> -	printf("... chain: nr:%" PRIu64 "\n", sample->callchain->nr);
> +	total_nr = callchain_nr = sample->callchain->nr;
>  
> -	for (i = 0; i < sample->callchain->nr; i++)
> +	if (evsel->attr.branch_sample_type & PERF_SAMPLE_BRANCH_CALL_STACK)
> +		lbr = 1;
> +
> +	if (lbr) {
> +		struct branch_stack *lbr_stack = sample->branch_stack;
> +
> +		for (i = 0; i < callchain_nr; i++) {
> +			if (sample->callchain->ips[i] == PERF_CONTEXT_USER)
> +				break;
> +		}
> +
> +		if (i != callchain_nr) {
> +			total_nr = i + 1 + lbr_stack->nr;
> +			callchain_nr = i + 1;
> +		}
> +	}
> +
> +	printf("... chain: nr:%" PRIu64 "\n", total_nr);
> +
> +	for (i = 0; i < callchain_nr + 1; i++)
>  		printf("..... %2d: %016" PRIx64 "\n",
>  		       i, sample->callchain->ips[i]);

so if there's lbr callstack info we dont display user stack
part from standard callchain? I think the dump code should
dump out all the info..

jirka

  parent reply	other threads:[~2014-11-12  8:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06 14:58 [PATCH 0/2] perf tool: Haswell LBR call stack support (user) kan.liang
2014-11-06 14:58 ` [PATCH 1/2] perf tools: enable LBR call stack support kan.liang
2014-11-12  7:50   ` Jiri Olsa
2014-11-12  7:50   ` Jiri Olsa
2014-11-12 14:44     ` Liang, Kan
2014-11-06 14:58 ` [PATCH 2/2] perf tools: Construct LBR call chain kan.liang
2014-11-12  8:58   ` Jiri Olsa
2014-11-12  8:58   ` Jiri Olsa
2014-11-12  8:59   ` Jiri Olsa [this message]
2014-11-12 14:37     ` Liang, Kan
2014-11-12 15:05       ` Peter Zijlstra
2014-11-12 18:31       ` Jiri Olsa
2014-11-12 12:33   ` Jiri Olsa
2014-11-10 10:54 ` [PATCH 0/2] perf tool: Haswell LBR call stack support (user) Peter Zijlstra
2014-11-10 14:08   ` Liang, Kan

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=20141112085914.GC25338@krava \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=eranian@google.com \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paulus@samba.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.