[RFC][PATCH] ring-buffer: Replace this_cpu_{read,write} with this_cpu_ptr()
Christoph Lameter
cl at linux.com
Mon Mar 16 22:56:51 PDT 2015
On Mon, 16 Mar 2015, Steven Rostedt wrote:
> It has come to my attention that this_cpu_read/write are horrible on
> architectures other than x86. Worse yet, they actually disable
> preemption or interrupts! This caused some unexpected tracing results
> on ARM.
Well its just been 7 years or so. Took a long time it seems.
These would need to be implemented on the architectures to
have comparable performance.
> I may go and remove all this_cpu_read,write() calls from my code
> because of this.
You could do that with __this_cpo_* but not this_cpu_*(). Doing
it to this_cpu_* would make the operations no longer per cpu atomic. If
they do not need per cpu atomicity then you could have used __this_cpu_*
instead. And __this_cpu_* do not disable preemption or interrupts.
So please do not send patches based on gut reactions.
NAK
More information about the linux-arm-kernel
mailing list