LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Stephane Eranian <eranian@google.com>
To: Vince Weaver <vincent.weaver@maine.edu>
Cc: Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
mingo@elte.hu, Andi Kleen <ak@linux.intel.com>
Subject: Re: [RFC] perf/core: what is exclude_idle supposed to do
Date: Fri, 20 Apr 2018 18:19:13 +0000 [thread overview]
Message-ID: <CABPqkBSA8-kvMtiPfWZ6bJCqL9TSJP=d3mLxd4MNOQyd1Kd-rg@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1804201247050.28907@macbook-air>
On Fri, Apr 20, 2018 at 9:51 AM Vince Weaver <vincent.weaver@maine.edu>
wrote:
> On Fri, 20 Apr 2018, Vince Weaver wrote:
> > > AFAICT it works on Power and possibly ARM.
> >
> > at least some ARMs are a bit more honest about it than x86
> >
> > ivybridge:
> > Performance counter stats for '/bin/ls':
> > 1,368,162 instructions
> > 1,368,162 instructions:I
> >
> > pi2/ARM cortex-A7
> > Performance counter stats for '/bin/ls':
> > 1,910,083 instructions
> > <not supported> instructions:I
> >
> > I'd fire up my Power8 machine to see but not sure it's worth the hassle
> > and/or having to get out the ear protection.
> I did power up the Power8 machine in the end:
> power8:
> perf stat -e cycles,cycles:I sleep 5
> Performance counter stats for 'sleep 5':
> 14,271,273 cycles
> 14,271,273 cycles:I
> ???
> But then if I try again on power8
> perf stat -a -e cycles,cycles:I sleep 5
> Performance counter stats for 'system wide':
> 1,238,772,322,327 cycles
> 1,238,674,771,713 cycles:I
> there is a difference.
> But then on ivybridge
> perf stat -a -e cycles,cycles:I sleep 5
> Performance counter stats for 'system wide':
> 589,598,104 cycles
> 589,537,190 cycles:I
This may be noise.
The way the flag is named leads me to believe its goal is to not count when
executing in the context of the idle task (pid 0 on each CPU).
However, it does not seem to be implemented that way. If you were to
implement this, then in system wide mode you'd have to check
the incoming task on ctxsw, very much like we do in cgroup monitoring. So
it would not be totally free. One can argue, in sampling mode
you can eliminate the samples coming from PID=0 in the tool. But there
would be nothing to cover counting mode.
Interestingly, there is also code in perf tool to exclude known idle
routines from reporting. But this is targeted to only some routines that the
idle task may end up executing. so it is not quite the same.
> So maybe exclude_idle does do something on x86? Or am I completely
> misunderstanding what the flag is supposed to be indicating?
> Vince
next prev parent reply other threads:[~2018-04-20 18:19 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-16 22:04 Stephane Eranian
2018-04-17 6:20 ` Jiri Olsa
2018-04-18 15:10 ` Vince Weaver
2018-04-20 8:36 ` Peter Zijlstra
2018-04-20 14:18 ` Vince Weaver
2018-04-20 16:51 ` Vince Weaver
2018-04-20 18:19 ` Stephane Eranian [this message]
2018-04-17 13:40 ` Arnaldo Carvalho de Melo
2018-04-20 8:35 ` Peter Zijlstra
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='CABPqkBSA8-kvMtiPfWZ6bJCqL9TSJP=d3mLxd4MNOQyd1Kd-rg@mail.gmail.com' \
--to=eranian@google.com \
--cc=acme@redhat.com \
--cc=ak@linux.intel.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=vincent.weaver@maine.edu \
--subject='Re: [RFC] perf/core: what is exclude_idle supposed to do' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).