From: Anton Blanchard Date: Mon, 17 Jan 2011 05:17:42 +0000 (+1100) Subject: powerpc: perf: Fix frequency calculation for overflowing counters X-Git-Tag: v2.6.38-rc1~9^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4bca770ede796a1ef7af9c983166d5608d9ccfaf;p=pandora-kernel.git powerpc: perf: Fix frequency calculation for overflowing counters When profiling a benchmark that is almost 100% userspace, I noticed some wildly inaccurate profiles that showed almost all time spent in the kernel. Closer examination shows we were programming a tiny number of cycles into the PMU after each overflow (about ~200 away from the next overflow). This gets us stuck in a loop which we eventually break out of by throttling the PMU (there are regular throttle/unthrottle events in the log). It looks like we aren't setting event->hw.last_period to something same and the frequency to period calculations in perf are going haywire. With the following patch we find the correct period after a few interrupts and stay there. I also see no more throttle events. Signed-off-by: Anton Blanchard Acked-by: Benjamin Herrenschmidt Cc: linuxppc-dev@lists.ozlabs.org Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <20110117161742.5feb3761@kryten> Signed-off-by: Ingo Molnar --- Reading git-diff-tree failed