Re: [PATCH RFC tip/core/rcu 11/11] rcu: move TREE_RCU from softirqto kthread

From: Steven Rostedt
Date: Wed Feb 23 2011 - 13:17:16 EST


On Wed, 2011-02-23 at 11:34 -0600, Christoph Lameter wrote:

> > > True, but we could also argue that the multiple checks for being preempt
> > > can also be an issue.
> >
> > At least on x86 preemption don't actually need to be disabled: selection
> > of the right per-cpu memory location is done atomically with the rest of
> > the instruction by the segment selector.
>
> Right.

But a test still needs to be made. Because three access of this_cpu_*()
that gets preempted and scheduled on another CPU can access a different
CPU var for each access. This does not matter how atomic the
this_cpu_*() code is.

IOW, the use of this_cpu_*() without preemption disabled is 99% of the
time a bug.

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/