Re: [PATCH v12 3/3] tracing: Centralize preemptirq tracepoints and unify their usage

From: Steven Rostedt
Date: Wed Aug 08 2018 - 08:46:35 EST


On Tue, 7 Aug 2018 20:53:54 -0700
Joel Fernandes <joelaf@xxxxxxxxxx> wrote:


> > When I talked to Paul few months ago about SRCU from NMI context, he
> > mentioned the per-cpu memory operations during srcu_read_lock can be
> > NMI interrupted, that's why we added that warning.
>
> So I looked more closely, __srcu_read_lock on 2 different handles may
> still be doing a this_cpu_inc on the same location..
> (sp->sda->srcu_lock_count). :-(
>
> Paul any ideas on how to solve this?
>
> It does start to seem like a show stopper :-(

What's wrong with a this_cpu_inc()? It's atomic for the CPU. Although
it wont be atomic for the capture of the idx. But I also don't see
interrupts being disabled, thus an NMI is no different than any
interrupt doing the same thing, right?

-- Steve