From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 18 May 2015 16:40:33 -0400 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Ingo Molnar , Andrew Morton , stable , Christoph Lameter , Uwe Kleine-Koenig Subject: Re: [GIT PULL] ring-buffer: Replace this_cpu_*() with __this_cpu_*() Message-ID: <20150518164033.58fa274a@gandalf.local.home> In-Reply-To: References: <20150319180216.62c9fa4a@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: On Mon, 18 May 2015 12:50:43 -0700 Linus Torvalds wrote: > On Thu, Mar 19, 2015 at 3:16 PM, Linus Torvalds > 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