Messages in this thread | | | Date | Tue, 12 May 2015 16:54:46 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH RESEND 0/3] tracing/mm: Fix suspicious rcu_dereference_check() usage warnings |
| |
On Tue, 12 May 2015 13:36:01 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Tue, 12 May 2015 16:03:51 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > > > On Tue, 12 May 2015 12:59:26 +0530 > > Shreyas B Prabhu <shreyas@linux.vnet.ibm.com> wrote: > > > > > Hi Steven, > > > On closer look, there is no particular maintainer who picks changes to > > > this file. Can you please pick these up? > > > > Perhaps Andrew Morton? > > > > No problem, I can take these too. > > > > I grabbed them, thanks. > > > + TP_CONDITION(cpu_online(smp_processor_id())), > > Are we sure these can't generate check_preemption_disabled() warnings? > Is there some reason why all these calls always occur with preemption > disabled?
Good catch. I don't think the code does.
Now, I'm not sure if we should just add a raw_smp_processor_id(). The idea is just to make sure that the CPU we are running on is online, because it is possible to call theses trace points when the CPU is going offline. If that happens, then there's a race with RCU.
Since a task can not be migrated to an offline CPU, we don't need to worry about the cpu_online(smp_processor_id()) returning a false positive. A false negative would just skip a tracepoint, but I'm not sure that is possible either.
In any case, comments should also be added to why the condition is there.
-- Steve
| |