On Fri, Feb 28, 2014 at 03:47:16PM -0500, Steven Rostedt wrote:
> > > I'll try your patch momentarily, first I had some other changes I started 
> > > running before I left work (for some reason it recompiled the whole 
> > > kernel).
> > > 
> > > 8: function:             perf_output_begin
> > > 8: bprint:               perf_output_begin: VMW: event type 2 config 2a 
> > > st: 2c3e
> > > 8: bputs:                perf_output_begin: VMW: before rcu_dereference
> > > 9: function:             __do_page_fault
> > > 9: function:                down_read_trylock
> > > 9: function:                _cond_resched
> > > 9: function:                find_vma
> > > 
> > > so it looks like the fault happens 
> > > 
> > > rcu_read_lock();
> > > 
> > > 116         /*
> > > 117          * For inherited events we send all the output towards the 
> > > parent.
> > > 118          */
> > > 119         if (event->parent)
> > > 120                 event = event->parent;
> > > 121 
> > > 
> > > somewhere between here
> > > 
> > > 122         rb = rcu_dereference(event->rb);
> > > 123         if (unlikely(!rb))
> > > 124                 goto out;
> > > 
> > > and here
> > > 
> > > 125 
> > > 126         if (unlikely(!rb->nr_pages))
> > > 127                 goto out;
> > > 
> > > although if rcu locks do anything to turn off tracing then this could be 
> > > suspect.
> > 
> > The most likely suspect is of course event->rb in the rcu_dereference.
> > I have to defer to Steven on how rcu_read_lock() and rcu_read_unlock()
> > currently interact with tracing.  ;-)
> 
> These are all perf related. You'll need to defer to Peter Zijlstra ;-)

I'm lost.. :/

pretty much all perf objects are RCU freed. 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to