Re: [PATCH 2/2] perf_counter: optimize context switch between identical inherited contexts

Peter Zijlstra
2009-05-22T09:22:19Z

On Fri, 2009-05-22 at 14:27 +1000, Paul Mackerras wrote:
>
> -----Unmodified----- With this patch series
> Counters: none 2 HW 4H+4S none 2 HW 4H+4S
>
> 2 processes:
> Average 3.44 6.45 11.24 3.12 3.39 3.60
> St dev 0.04 0.04 0.13 0.05 0.17 0.19
>
> 8 processes:
> Average 6.45 8.79 14.00 5.57 6.23 7.57
> St dev 1.27 1.04 0.88 1.42 1.46 1.42
>
> 32 processes:
> Average 5.56 8.43 13.78 5.28 5.55 7.15
> St dev 0.41 0.47 0.53 0.54 0.57 0.81

Any clues as to why the time is still dependent on the number of
counters in the context? The approach seems to be O(1) in that it
does a simple counter context swap on sched_out and nothing on sched_in.