Re: [this_cpu_xx V6 3/7] Use this_cpu operations in slub

From: Christoph Lameter
Date: Tue Oct 13 2009 - 10:49:37 EST


On Tue, 13 Oct 2009, Tejun Heo wrote:

> The only difference between this_cpu_ptr() and __this_cpu_ptr() is the
> usage of my_cpu_offset and __my_cpu_offset which in turn are only
> different in whether they check preemption status to make sure the cpu
> is pinned down when called.

Correct.

> The only places where the underbar prefixed versions should be used
> are places where cpu locality is nice but not critical and preemption
> debug check wouldn't work properly for whatever reason. The above is
> none of the two and the conversion is buried in a patch which is
> supposed to do something else. Am I missing something?

I used __this_cpu_* whenever the context is already providing enough
safety that preempt disable or irq disable would not matter. The use of
__this_cpu_ptr was entirely for consistent usage here. this_cpu_ptr would
be safer because it has additional checks that preemption really is
disabled. So if someone gets confused about logic flow later it can be
dtected.
--
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/