All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Stephane Eranian <eranian@google.com>
Cc: "Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Arnaldo Carvalho de Melo" <acme@redhat.com>,
	"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Frédéric Weisbecker" <fweisbec@gmail.com>,
	"Eric Dumazet" <eric.dumazet@gmail.com>
Subject: Re: perf, x86: Provide a PEBS capable cycle event
Date: Wed, 26 Jan 2011 14:58:01 +0100	[thread overview]
Message-ID: <20110126135801.GA30064@elte.hu> (raw)
In-Reply-To: <AANLkTikjEGMV=ZwiUmFxmQaELG525ntd=Xi8_EXFT9J7@mail.gmail.com>


* Stephane Eranian <eranian@google.com> wrote:

> On Wed, Jan 26, 2011 at 1:06 PM, Ingo Molnar <mingo@elte.hu> wrote:
> >
> > * Stephane Eranian <eranian@google.com> wrote:
> >
> >> On Wed, Jan 26, 2011 at 12:37 PM, Ingo Molnar <mingo@elte.hu> wrote:
> >> >
> >> > * Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
> >> >
> >> >> Gitweb:     http://git.kernel.org/linus/7639dae0ca11038286bbbcda05f2bef601c1eb8d
> >> >> Commit:     7639dae0ca11038286bbbcda05f2bef601c1eb8d
> >> >> Parent:     abe43400579d5de0078c2d3a760e6598e183f871
> >> >> Author:     Peter Zijlstra <a.p.zijlstra@chello.nl>
> >> >> AuthorDate: Tue Dec 14 21:26:40 2010 +0100
> >> >> Committer:  Ingo Molnar <mingo@elte.hu>
> >> >> CommitDate: Thu Dec 16 11:36:44 2010 +0100
> >> >>
> >> >>     perf, x86: Provide a PEBS capable cycle event
> >> >>
> >> >>     Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> >> >>     LKML-Reference: <new-submission>
> >> >>     Signed-off-by: Ingo Molnar <mingo@elte.hu>
> >> >> ---
> >> >>  arch/x86/kernel/cpu/perf_event_intel.c |   26 ++++++++++++++++++++++++++
> >> >>  1 files changed, 26 insertions(+), 0 deletions(-)
> >> >
> >> > btw., precise profiling via PEBS:
> >> >
> >> >  perf record -e cycles:p ...
> >> >
> >> > works pretty nicely now on Nehalem CPUs and later.
> >> >
> >> The problem is that cycles:p is not equivalent to cycles in terms of how
> >> cycles are counted. cycles counts only unhalted cycles. cycles:p counts
> >> ALL cycles, event when the CPU is in halted state.
> >
> > That's not really an issue in practice: it at most can cause a bit larger value for:
> >
> >     2.38%       swapper  [kernel.kallsyms]      [k] mwait_idle_with_hints                             ▮
> >
> > Which entry exists with regular cycles event _anyway_, because every irq entry ends
> > up there.
> >
> 
> There is a difference in interpretation. Because now when you get samples in those 
> idle routines, you cannot tell whether it is because you actually execute code 
> there or because you were halted (not executing) and now sampling has altered the 
> behavior of the system in that you wake up from halted state to service a PMU 
> interrupt.

The thing is, most people are not interested in seeing the idle routine entry 
anyway, so we already exclude it in say 'perf top' output, see the skip_symbols[] 
array in builtin-top.c.

So utility seems rather low.

If we contrast it to the utility of having precise PEBS sampling, which dramatically 
improves *all* profiling data and which improves the reading of annotated profiling 
output beyond measure, the default path to go here seems rather obvious. Agreed?

Thanks,

	Ingo

  reply	other threads:[~2011-01-26 13:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201101062000.p06K0ESw011195@hera.kernel.org>
2011-01-26 11:37 ` perf, x86: Provide a PEBS capable cycle event Ingo Molnar
2011-01-26 12:00   ` Stephane Eranian
2011-01-26 12:06     ` Ingo Molnar
2011-01-26 13:29       ` Stephane Eranian
2011-01-26 13:58         ` Ingo Molnar [this message]
2011-02-01 14:36           ` 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=20110126135801.GA30064@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=eranian@google.com \
    --cc=eric.dumazet@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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.