On Wed, Oct 11, 2017 at 05:02:28PM +0800, zhouchengming wrote:
> On 2017/10/11 15:45, Peter Zijlstra wrote:

> > +           if (!(flags&  PERF_EF_START))
> > +                   p_event->hw.state = PERF_HES_STOPPED;
> 
> Don't we need to check the flags for ftrace perf_event?
> So if we should put this outside the if (!tp_event->class->reg()) ?

Oh, right you are, that's independent of the hlist nonsense.

> > +           list = this_cpu_ptr(pcpu_list);
> > +           hlist_add_head_rcu(&p_event->hlist_entry, list);
> > +   }
> 
> Now we don't add perf_event to the pcpu_list, so we also can avoid
> to alloc pcpu_list for function tp_event in perf_trace_event_reg().

Yeah that allocation is superfluous, Not entirely sure how to cleanly
get rid of that though; that's another web to untangle.

Reply via email to