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

Peter Zijlstra
2009-05-22T09:42:24Z

On Fri, 2009-05-22 at 11:22 +0200, Peter Zijlstra wrote:
> 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.

Ah, should I read this as 'n' lmbench instances on a single cpu? So that
we get multiple inheritance sets mixed and have to switch between them?