Messages in this thread | | | Date | Fri, 7 Aug 2009 13:29:31 +0200 | From | Ingo Molnar <> | Subject | Re: [patch] x86, perf_counter, bts: add bts to perf_counter |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> btw., the number of samples seems to be varying too widely: > > titan:~> for ((i=0;i<10;i++)); do perf record -f -e branches:u -c 1 true 2>/dev/null; perf report | head -1; done > # Samples: 28784 > # Samples: 24063 > # Samples: 22788 > # Samples: 30449 > # Samples: 15335 > # Samples: 30557 > # Samples: 24010 > # Samples: 23866 > # Samples: 24877 > # Samples: 24330 > > compared to the branch-stat itself: > > titan:~> perf stat -v --repeat 10 -e branches:u true > [ perf stat: executing run #1 ... ] > [ perf stat: executing run #2 ... ] > [ perf stat: executing run #3 ... ] > [ perf stat: executing run #4 ... ] > [ perf stat: executing run #5 ... ] > [ perf stat: executing run #6 ... ] > [ perf stat: executing run #7 ... ] > [ perf stat: executing run #8 ... ] > [ perf stat: executing run #9 ... ] > [ perf stat: executing run #10 ... ] > > Performance counter stats for 'true' (10 runs): > > 23851 branches ( +- 0.000% ) > > 0.000639653 seconds time elapsed ( +- 2.474% ) > > do we lose records in the recording?
i doubt it's lost records. Even with SCHED_FIFO sampling and with a huge, 512 MB mmap ring-buffer we get a BTS sample count variation in the +- 10% range:
titan:/home/mingo> for ((i=0;i<10;i++)); do perf record -r 1 -m 131072 -f -e branches:u -c 1 true 2>/dev/null; perf report | head -1; done # Samples: 24860 # Samples: 24177 # Samples: 26165 # Samples: 25682 # Samples: 29175 # Samples: 23136 # Samples: 27102 # Samples: 29888 # Samples: 25524 # Samples: 24266
(and these are all just user-mode executions)
Ingo
| |