From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755763AbcK1Vsh (ORCPT ); Mon, 28 Nov 2016 16:48:37 -0500 Received: from one.firstfloor.org ([193.170.194.197]:56341 "EHLO one.firstfloor.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755647AbcK1Vs2 (ORCPT ); Mon, 28 Nov 2016 16:48:28 -0500 Date: Mon, 28 Nov 2016 13:48:25 -0800 From: Andi Kleen To: Steven Rostedt Cc: Andi Kleen , Peter Zijlstra , Jiri Olsa , "Paul E. McKenney" , linux-kernel@vger.kernel.org, Ingo Molnar , Josh Triplett , Jan Stancek Subject: Re: [BUG] msr-trace.h:42 suspicious rcu_dereference_check() usage! Message-ID: <20161128214825.GJ26852@two.firstfloor.org> References: <20161121005343.GB1891@krava> <20161121092850.GF3102@twins.programming.kicks-ass.net> <20161121170612.GT26852@two.firstfloor.org> <20161121171853.GK3092@twins.programming.kicks-ass.net> <20161121174504.GU26852@two.firstfloor.org> <20161121130115.2f0f38e7@gandalf.local.home> <20161121180654.GV26852@two.firstfloor.org> <20161121132220.17fb0515@gandalf.local.home> <20161121183700.GW26852@two.firstfloor.org> <20161123210618.5103f25d@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161123210618.5103f25d@gandalf.local.home> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > I took a look at this and forced some more functions to be inlined. I > did a little tweaking here and there. Could you pull my tree and see if > things are better? I don't currently have the hardware to run this > myself. > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git > > branch: ftrace/core Didn't help much unfortunately. I think you need a real fast path here. http://halobates.de/tracepoint-trace2 $ wc -l tracepoint-trace2 595 tracepoint-trace2 Opcode Histogram: 201 mov 51 push 51 pop 34 test 32 cmp 26 jz 24 jnz 24 and 16 ret 16 lea 15 call 12 add 10 jmp Functions with # of instructions: 25 trace_event_raw_event_sched_switch 19 trace_event_buffer_reserve 21 trace_event_buffer_lock_reserve 57 ring_buffer_lock_reserve 3 trace_clock_local 3 sched_clock 24 native_sched_clock 3 sched_clock 2 trace_clock_local 11 ring_buffer_lock_reserve 81 __rb_reserve_next 11 ring_buffer_lock_reserve 6 trace_event_buffer_lock_reserve 18 ring_buffer_event_data 5 trace_event_buffer_lock_reserve 38 tracing_generic_entry_update 11 trace_event_buffer_lock_reserve 5 trace_event_buffer_reserve 18 ring_buffer_event_data 4 trace_event_buffer_reserve 28 trace_event_raw_event_sched_switch 30 trace_event_buffer_commit 19 trace_buffer_unlock_commit_regs 11 ring_buffer_unlock_commit 85 rb_commit 18 ring_buffer_unlock_commit 10 trace_buffer_unlock_commit_regs 3 ftrace_trace_userstack 7 trace_buffer_unlock_commit_regs 11 trace_event_buffer_commit 8 trace_event_raw_event_sched_switch -Andi