Messages in this thread | | | Date | Thu, 18 Jun 2015 12:24:10 +0200 | From | Peter Zijlstra <> | Subject | Re: perf: aux area related crash and warnings |
| |
On Thu, Jun 18, 2015 at 12:35:31PM +0300, Alexander Shishkin wrote: > Ingo Molnar <mingo@kernel.org> writes: > > > * Alexander Shishkin <alexander.shishkin@linux.intel.com> wrote: > > > >> +void rb_free_aux(struct ring_buffer *rb) > >> +{ > >> + /* > >> + * hold rb::refcount to make sure rb doesn't disappear > >> + * before aux pages are freed > >> + */ > >> + if (WARN_ON_ONCE(!atomic_inc_not_zero(&rb->refcount))) > >> + return; > >> + > >> + if (atomic_dec_and_test(&rb->aux_refcount)) > >> + call_rcu(&rb->rcu_head, rb_free_rcu); > >> + else > >> + ring_buffer_put(rb); /* matches the increment above */ > > > > Is call_rcu() NMI-safe? I don't think so ... > > Actually, we couldn't establish that without Paul's help.
I was fairly sure it was not, Paul did confirm last night it is indeed not.
| |