On Mon, Sep 08, 2014 at 11:45:48AM +0200, Peter Zijlstra wrote: > On Mon, Sep 08, 2014 at 11:43:48AM +0200, Jiri Olsa wrote: > > On Tue, Sep 02, 2014 at 12:50:36PM +0200, Peter Zijlstra wrote: > > > On Mon, Aug 25, 2014 at 04:45:35PM +0200, Jiri Olsa wrote: > > > > As described in commit: > > > > 1f9a7268c67f perf: Do not allow optimized switch for non-cloned events > > > > we dont allow optimized switch for non cloned contexts. > > > > > > > > There's no need now to check if one of the context is parent > > > > of the other in context_equiv function. > > > > > > > > > > OK, so talk to me about that patch; it looks like you're slowly > > > reverting: 5a3126d4fe7c ("perf: Fix the perf context switch > > > optimization"). > > > > > > So what exactly is the problem? I'm still jet-lagged and not seeing it. > > > > the problem is, that we cannot allow non-cloned context > > to be part of the optimized switch for reasons explained > > in commit 1f9a7268c67f > > The thing is; I don't understand those reasons. That commit log doesn't > explain. Ah wait, I finally see. I think we want to fix that exit path, not disallow the cloning. The thing is, by not allowing this optimization simple things like eg. pipe-test say very expensive.