From: Ingo Molnar <mingo@elte.hu>
To: Brice Goglin <Brice.Goglin@inria.fr>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
paulus@samba.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [perf] howto switch from pfmon
Date: Tue, 23 Jun 2009 15:25:06 +0200 [thread overview]
Message-ID: <20090623132506.GA32002@elte.hu> (raw)
In-Reply-To: <20090623131450.GA31519@elte.hu>
* Ingo Molnar <mingo@elte.hu> wrote:
> > I guess there are still a lot of things on the TODOlist but I'd
> > like to understand a bit more where things are going. Sorry I
> > didn't read all the archives about this, there are way too many
> > of them recently :)
>
> Yeah, there's indeed still a lot on the TODO list :-)
>
> CPU_TO_DRAM_REQUESTS_TO_TARGET_NODE is a Barcelona hardware event,
> so if you know that it maps to raw ID 0x100000e0 then you can
> always extend the events that 'perf' knows about via raw events:
>
> $ perf stat -e cycles -e instructions -e r1000ffe0 ./hackbench 10
Note, beyond using raw events, if you are interested in profiling
out 'locality badness' of your app, you are probably quite well
served with the default metrics on Barcelona as well:
$ perf stat ~/hackbench 10
Time: 0.205
Performance counter stats for '/home/mingo/hackbench 10':
2187.328436 task-clock-msecs # 3.315 CPUs
54554 context-switches # 0.025 M/sec
1160 CPU-migrations # 0.001 M/sec
17755 page-faults # 0.008 M/sec
4995437535 cycles # 2283.808 M/sec
2150881875 instructions # 0.431 IPC
644099534 cache-references # 294.469 M/sec
8516562 cache-misses # 3.894 M/sec
0.659895237 seconds time elapsed.
The cache-misses event is sufficiently well-represented to be
meaningful to profile based on it. Raw DRAM access stats can be
useful too - but they are generally layered much later and your app
can hurt already flip-flopping its working set, without hitting too
hard on the DRAM channels.
So perhaps 'cache-misses' is a good first-level approximation metric
to measure and profile along. You can get a good
(last-level-)cache-misses profile using the auto-freq counters:
perf record -e cache-misses -F 10000 ./your-app
The '-F 10000' tells the kernel to do 10 KHz sampling of your-app,
regardless of how frequent cache-misses are. The tools (perf report)
will take the weight of events into account, so it's all
well-normalized between the functions.
So you dont need to specify the 'sampling interval' by hand to get a
sufficient number of samples, you just specify a sampling frequency
- and the perfcounters subsystem takes care of the rest.
Also, your system wont over-sample nor under-sample if your workload
idles around occasionally.
Ingo
next prev parent reply other threads:[~2009-06-23 13:25 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-22 20:54 [perf] howto switch from pfmon Brice Goglin
2009-06-23 12:12 ` Andi Kleen
2009-06-23 12:23 ` Peter Zijlstra
2009-06-23 13:57 ` Ingo Molnar
2009-06-23 13:14 ` Ingo Molnar
2009-06-23 13:22 ` Peter Zijlstra
2009-06-23 13:38 ` Ingo Molnar
2009-06-23 13:25 ` Ingo Molnar [this message]
2009-06-23 13:47 ` Ingo Molnar
2009-06-23 14:00 ` Brice Goglin
2009-06-23 14:36 ` Ingo Molnar
2009-06-23 15:22 ` Brice Goglin
2009-06-29 19:29 ` Ingo Molnar
2009-08-06 16:59 ` Brice Goglin
2009-08-06 17:40 ` Peter Zijlstra
2009-08-06 17:48 ` Brice Goglin
2009-08-06 17:59 ` Peter Zijlstra
2009-08-06 18:57 ` [PATCH] perf tools: Fix reading of perf.data file header Peter Zijlstra
2009-08-06 19:03 ` Brice Goglin
2009-08-06 19:59 ` Ingo Molnar
2009-08-06 20:03 ` Brice Goglin
2009-08-06 23:35 ` Brice Goglin
2009-08-07 6:13 ` Brice Goglin
2009-08-07 6:32 ` Ingo Molnar
2009-08-07 7:38 ` Brice Goglin
2009-08-07 7:45 ` Ingo Molnar
2009-08-07 8:18 ` Brice Goglin
2009-08-07 8:23 ` Ingo Molnar
2009-08-07 8:27 ` Ingo Molnar
2009-08-07 8:30 ` [tip:perfcounters/core] perf stat: Rename -S/--scale to -c/--scale tip-bot for Brice Goglin
2009-08-07 11:55 ` [PATCH] perf report: Display per-thread event counters Brice Goglin
2009-08-08 11:54 ` [tip:perfcounters/core] perf report: Fix and improve the displaying of " tip-bot for Brice Goglin
2009-08-08 12:14 ` [PATCH] perf report: Display " Ingo Molnar
2009-08-08 16:10 ` Brice Goglin
2009-08-08 16:13 ` Ingo Molnar
2009-08-07 6:37 ` [tip:perfcounters/urgent] perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header tip-bot for Peter Zijlstra
2009-08-07 7:39 ` tip-bot for Peter Zijlstra
2009-08-06 19:01 ` [perf] howto switch from pfmon Brice Goglin
2009-06-23 14:21 ` Brice Goglin
2009-06-23 14:51 ` Ingo Molnar
2009-06-23 15:29 ` Jaswinder Singh Rajput
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=20090623132506.GA32002@elte.hu \
--to=mingo@elte.hu \
--cc=Brice.Goglin@inria.fr \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox