Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933188AbcDEMHK (ORCPT ); Tue, 5 Apr 2016 08:07:10 -0400 Received: from casper.infradead.org ([85.118.1.10]:33601 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932750AbcDEMHF (ORCPT ); Tue, 5 Apr 2016 08:07:05 -0400 Date: Tue, 5 Apr 2016 14:06:26 +0200 From: Peter Zijlstra To: Alexei Starovoitov Cc: Steven Rostedt , "David S . Miller" , Ingo Molnar , Daniel Borkmann , Arnaldo Carvalho de Melo , Wang Nan , Josef Bacik , Brendan Gregg , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH net-next 1/8] perf: optimize perf_fetch_caller_regs Message-ID: <20160405120626.GM3448@twins.programming.kicks-ass.net> References: <1459831974-2891931-1-git-send-email-ast@fb.com> <1459831974-2891931-2-git-send-email-ast@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1459831974-2891931-2-git-send-email-ast@fb.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1010 Lines: 26 On Mon, Apr 04, 2016 at 09:52:47PM -0700, Alexei Starovoitov wrote: > avoid memset in perf_fetch_caller_regs, since it's the critical path of all tracepoints. > It's called from perf_sw_event_sched, perf_event_task_sched_in and all of perf_trace_##call > with this_cpu_ptr(&__perf_regs[..]) which are zero initialized by perpcu_alloc Its not actually allocated; but because its a static uninitialized variable we get .bss like behaviour and the initial value is copied to all CPUs when the per-cpu allocator thingy bootstraps SMP IIRC. > and > subsequent call to perf_arch_fetch_caller_regs initializes the same fields on all archs, > so we can safely drop memset from all of the above cases and Indeed. > move it into > perf_ftrace_function_call that calls it with stack allocated pt_regs. Hmm, is there a reason that's still on-stack instead of using the per-cpu thing, Steve? > Signed-off-by: Alexei Starovoitov In any case, Acked-by: Peter Zijlstra (Intel)