From: Ingo Molnar <mingo@elte.hu>
To: Vince Weaver <vince@deater.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>,
linux-kernel@vger.kernel.org, Mike Galbraith <efault@gmx.de>
Subject: Re: [numbers] perfmon/pfmon overhead of 17%-94%
Date: Tue, 30 Jun 2009 02:05:40 +0200 [thread overview]
Message-ID: <20090630000540.GC5869@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.64.0906291354380.1404@pianoman.cluster.toy>
* Vince Weaver <vince@deater.net> wrote:
>> workloads? [ In fact in one of the scheduler-tests perfmon has a
>> whopping measurement overhead of _nine billion_ cycles, it
>> increased total runtime of the workload from 3.3 seconds to 6.6
>> seconds. (!) ]
>
> I'm sure the perfmon2 people would welcome any patches you have to
> fix this problem.
I think this flaw of perfmon is unfixable, because perfmon (by
design) uses a _way_ too low level and way too opaque and
structure-less abstraction for the PMU, which disallows the kind of
high-level optimizations that perfcounters can do.
We werent silent about this - to the contrary. Last November Thomas
and me _did_ take a good look at perfmon patches (we are maintaining
the code areas affected by perfmon), we saw that it has unfixable
problems and came up with objections and later on came up with
patches that fix these problems: the perfcounters subsystem.
>> That's an about 94% measurement overhead, or about 9.2 _billion_
>> cycles overhead on this test-system.
>
> I'm more interested in very CPU-intensive benchmarks. I ran some
> experiments with gcc and equake from the spec2k benchmark suite.
The workloads i cited are _all_ 100% CPU-intensive benchmarks:
- hackbench
- loop-pipe-1-million
But i could add 'lat_tcp localhost', 'bw_tcp localhost' or sysbench
to the list - all show very significant overhead under perfmon.
These are all important workloads and important benchmarks. A kernel
based performance analysis facility that is any good must handle
them transparently.
Ingo
next prev parent reply other threads:[~2009-06-30 0:05 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-24 13:59 performance counter 20% error finding retired instruction count Vince Weaver
2009-06-24 15:10 ` Ingo Molnar
2009-06-25 2:12 ` Vince Weaver
2009-06-25 6:50 ` Peter Zijlstra
2009-06-25 9:13 ` Ingo Molnar
2009-06-26 18:22 ` Vince Weaver
2009-06-26 19:12 ` Peter Zijlstra
2009-06-27 5:32 ` Ingo Molnar
2009-06-26 19:23 ` Vince Weaver
2009-06-27 6:04 ` performance counter ~0.4% " Ingo Molnar
2009-06-27 6:44 ` [numbers] perfmon/pfmon overhead of 17%-94% Ingo Molnar
2009-06-29 18:25 ` Vince Weaver
2009-06-29 21:02 ` Ingo Molnar
2009-07-02 21:07 ` Vince Weaver
2009-07-03 7:58 ` Ingo Molnar
2009-07-03 21:43 ` Vince Weaver
2009-07-03 18:31 ` Andi Kleen
2009-07-03 21:25 ` Vince Weaver
2009-07-03 23:40 ` Andi Kleen
2009-06-29 23:46 ` [patch] perf_counter: Add enable-on-exec attribute Ingo Molnar
2009-06-29 23:55 ` [numbers] perfmon/pfmon overhead of 17%-94% Ingo Molnar
2009-06-30 0:05 ` Ingo Molnar [this message]
2009-06-27 6:48 ` performance counter ~0.4% error finding retired instruction count Paul Mackerras
2009-06-27 17:28 ` Ingo Molnar
2009-06-29 2:12 ` Paul Mackerras
2009-06-29 2:13 ` Paul Mackerras
2009-06-29 3:48 ` Ingo Molnar
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=20090630000540.GC5869@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
--cc=vince@deater.net \
/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