public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* perf_event self-monitoring overhead regression
@ 2011-11-30  5:20 Vince Weaver
  2011-11-30 11:54 ` Peter Zijlstra
  0 siblings, 1 reply; 9+ messages in thread
From: Vince Weaver @ 2011-11-30  5:20 UTC (permalink / raw)
  To: Ingo Molnar, linux-kernel@vger.kernel.org, a.p.zijlstra,
	Paul Mackerras, Arnaldo Carvalho de Melo, Stephane Eranian

Hello

I've been tracking a performance regression with self-monitoring and 
perf_event.

For a simple start/stop/read test, the overhead has increased about 10%
from the 2.6.32 kernel to 3.1.  (this has been measured on a variety
of x86_64 machines).

This is as measured with the POSIX clock_gettime(CLOCK_REALTIME,&time)
calls.  Potentially the issue is with this and not with perf_events.
As you can imagine it is hard to measure the performance of the perf_event
interface since you can't invoke perf_event on it.

In any case, I was trying to bisect some of these performance issues.  
There was another jump in overhead between 3.0 and 3.1, so I tried there.
I had a bisectable test case, but after a tedious day-long bisect run the 
problem bisected down to

   commit 2d86a3f04e345b03d5e429bfe14985ce26bff4dc
   Merge: 3960ef3 5ddac6b
   Author: Linus Torvalds <torvalds@linux-foundation.org>
   Date:   Tue Jul 26 17:13:04 2011 -0700

    Merge branch 'next/board' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/l
    
Which seems unlikely.  My git skills really aren't enough to try to figure
out why an ARM board merge would affect the overhead of the perf_event
syscalls on x86_64.

Is there a better way for trying to track down performance regressions 
like this?

Thanks,

Vince
vweaver1@eecs.utk.edu


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-12-09 22:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-30  5:20 perf_event self-monitoring overhead regression Vince Weaver
2011-11-30 11:54 ` Peter Zijlstra
2011-11-30 17:44   ` Linus Torvalds
2011-12-01 13:59     ` Vince Weaver
2011-12-01 18:11       ` stephane eranian
2011-12-06 21:07         ` Vince Weaver
2011-12-08  0:44           ` stephane eranian
2011-12-08 18:34             ` Vince Weaver
2011-12-09 22:22             ` Vince Weaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox