From: David Ahern <dsahern@gmail.com>
To: Stephane Eranian <eranian@google.com>
Cc: linux-kernel@vger.kernel.org, acme@redhat.com,
peterz@infradead.org, mingo@elte.hu, ravitillo@lbl.gov,
khandual@linux.vnet.ibm.com, asharma@fb.com,
robert.richter@amd.com, ming.m.lin@intel.com,
vweaver1@eecs.utk.edu, andi@firstfloor.org
Subject: Re: [PATCH] perf report: auto-detect branch stack sampling mode
Date: Fri, 24 Feb 2012 08:31:54 -0700 [thread overview]
Message-ID: <4F47AD6A.6080609@gmail.com> (raw)
In-Reply-To: <CABPqkBT1R_SJiQkjujS4dN5yQZPakjOmmCLNR3DmNxTmVT_p9A@mail.gmail.com>
On 2/24/12 8:28 AM, Stephane Eranian wrote:
> On Fri, Feb 24, 2012 at 4:24 PM, David Ahern<dsahern@gmail.com> wrote:
>> On 2/24/12 2:40 AM, Stephane Eranian wrote:
>>>
>>>
>>> This patch adds auto-detection of samples with taken branch stacks.
>>> The auto-detection avoids having to specify the -b or --branch-stack
>>> option on the cmdline.
>>>
>>> The patch adds a new feature bit HEADER_BRANCH_STACK to mark the
>>> presence of branch stacks in samples.
>>>
>>> You can now do:
>>> $ perf record -b any noploop 2
>>> $ perf report
>>> # Events: 8K cycles
>>> #
>>> # Overhead Command Source Shared Object Source Symbol Target
>>> Shared Object Target Symbol
>>> # ........ ....... .................... ...................
>>> .................... ..................
>>> #
>>> 91.56% noploop noploop [.] noploop
>>> noploop [.] noploop
>>> 0.42% noploop [kernel.kallsyms] [k] __lock_acquire
>>> [kernel.kallsyms] [k] __lock_acquire
>>>
>>>
>>> To force regular reporting based on the instruction address:
>>> $ perf report --no-branch-stack
>>> #
>>> # Events: 2K cycles
>>> #
>>> # Overhead Command Shared Object Symbol
>>> # ........ ....... ................. ...............................
>>> #
>>> 92.03% noploop noploop [.] noploop
>>> 1.00% noploop [kernel.kallsyms] [k] lock_acquire
>>>
>>>
>>> Signed-off-by: Stephane Eranian<eranian@google.com>
>>> ---
>>>
>>> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
>>> index 1c49d4e..5e833a2 100644
>>> --- a/tools/perf/builtin-record.c
>>> +++ b/tools/perf/builtin-record.c
>>> @@ -473,6 +473,9 @@ static int __cmd_record(struct perf_record *rec, int
>>> argc, const char **argv)
>>> if (!have_tracepoints(&evsel_list->entries))
>>> perf_header__clear_feat(&session->header,
>>> HEADER_TRACE_INFO);
>>>
>>> + if (!rec->opts.branch_stack)
>>> + perf_header__clear_feat(&session->header,
>>> HEADER_BRANCH_STACK);
>>
>>
>> branch tracing is user requested on, so shouldn't feature default off and
>> only be enabled when requested?
>>
> Well, what Ingo was suggesting is that perf report auto-detects whether or
> not branch mode is necessary by looking at the perf.data file. Most likely
> if you've recorded with -b, you are interested in a branch mode view rather
> that the instruction view (default). So all this does is elimintate the need
> to pass -b to perf report to enable branch mode.
Right. My point is that HEADER_BRANCH_STACK feature should be off by
default and only enabled by builtin-record when branch stack is
requested. You have the reverse -- enabled by default and off in record
if not requested.
David
next prev parent reply other threads:[~2012-02-24 15:32 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-24 9:40 [PATCH] perf report: auto-detect branch stack sampling mode Stephane Eranian
2012-02-24 15:24 ` David Ahern
2012-02-24 15:28 ` Stephane Eranian
2012-02-24 15:31 ` David Ahern [this message]
2012-02-24 15:40 ` Stephane Eranian
2012-02-24 15:49 ` David Ahern
2012-02-24 15:51 ` Stephane Eranian
2012-03-02 17:47 ` Stephane Eranian
2012-03-02 19:08 ` Arnaldo Carvalho de Melo
2012-03-03 19:43 ` Arnaldo Carvalho de Melo
2012-03-05 10:49 ` Ingo Molnar
2012-03-05 11:11 ` Peter Zijlstra
2012-03-05 15:47 ` Ingo Molnar
2012-03-05 15:50 ` Ingo Molnar
2012-03-05 15:56 ` Ingo Molnar
2012-03-05 16:30 ` Peter Zijlstra
2012-03-05 16:32 ` Stephane Eranian
2012-03-05 17:20 ` Ingo Molnar
2012-03-05 20:35 ` Arnaldo Carvalho de Melo
2012-03-05 21:43 ` Arun Sharma
2012-03-05 22:26 ` Arnaldo Carvalho de Melo
2012-03-05 23:35 ` Arun Sharma
2012-03-06 3:06 ` Arnaldo Carvalho de Melo
2012-03-06 6:27 ` Ingo Molnar
2012-03-06 6:25 ` Ingo Molnar
2012-03-07 1:57 ` [RFC] perf report: Implement symbol filtering on TUI Namhyung Kim
2012-03-07 6:07 ` Ingo Molnar
2012-03-07 8:04 ` Namhyung Kim
2012-03-08 10:44 ` Ingo Molnar
2012-03-09 1:53 ` Namhyung Kim
2012-03-09 7:36 ` Ingo Molnar
2012-03-09 8:03 ` Namhyung Kim
2012-03-14 23:11 ` Arun Sharma
2012-03-15 0:44 ` Namhyung Kim
2012-03-15 21:46 ` Arun Sharma
2012-03-05 15:52 ` [PATCH] perf report: auto-detect branch stack sampling mode Stephane Eranian
2012-03-07 12:49 ` Stephane Eranian
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=4F47AD6A.6080609@gmail.com \
--to=dsahern@gmail.com \
--cc=acme@redhat.com \
--cc=andi@firstfloor.org \
--cc=asharma@fb.com \
--cc=eranian@google.com \
--cc=khandual@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=ravitillo@lbl.gov \
--cc=robert.richter@amd.com \
--cc=vweaver1@eecs.utk.edu \
/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.