Re: [GIT PULL] ring-buffer: Replace this_cpu_*() with __this_cpu_*()

From: Steven Rostedt
Date: Mon May 18 2015 - 16:40:46 EST


On Mon, 18 May 2015 12:50:43 -0700
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, Mar 19, 2015 at 3:16 PM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > So I don't think the ring-buffer change is necessarily _wrong_, but if
> > this is a performance issue, why don't we just fix it up for the
> > generic case rather than for just one user?
>
> This this_cpu_generic_read/this_cpu_generic_write() performance thing
> seems to have dropped off everybody's radar.
>
> Do people still care? Is it an issue?

Note, the ring buffer issues exasperated the problem because the
preempt_disable() itself was being traced (function tracer) and this
was for the code that was to detect recursion. Luckily, the function
tracer had its own recursion detection to prevent an infinite recursion
from happening and crashing the kernel, but the double call was
definitely being noticed.

Now, as for preempt_disable() being called for a simple per cpu read,
that is probably overkill. But I think Christoph is the one to answer
this.

-- 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/