Re: [PATCH 1/9] perf: Remove redundant parent context check from context_equiv

From: Peter Zijlstra
Date: Mon Sep 08 2014 - 05:49:10 EST


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.

Attachment: pgp_dCzM22qnm.pgp
Description: PGP signature