Re: [RFC][PATCH 0/5] Introduce checks for preemptable code for this_cpu_read/write()

Steven Rostedt
2011-09-20T15:19:50Z

On Tue, 2011-09-20 at 09:57 -0500, Christoph Lameter wrote:

> this_cpu_xx functions are made for those locations that have
> preemption enabled. If you can use those function (classic case is a
> per cpu counter increment in the network subsystem) then you can avoid
> preempt disable/enable or get_cpu/put_cpu.

If the variables are used for a very short time, then the latencies
introduced by a simple:

var = get_cpu_var(my_var);
if (var)
do_something_quick();
put_cpu_var(my_var);

Otherwise if that do_something_quick(); migrates, it may be doing
something it shouldn't be doing!

-- Steve