From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758201AbcH3LaH (ORCPT ); Tue, 30 Aug 2016 07:30:07 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36603 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755452AbcH3LaG (ORCPT ); Tue, 30 Aug 2016 07:30:06 -0400 Date: Tue, 30 Aug 2016 13:30:00 +0200 From: Robert Richter To: Josh Poimboeuf Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski , Linus Torvalds , Steven Rostedt , Brian Gerst , Kees Cook , Peter Zijlstra , Frederic Weisbecker , Byungchul Park , Nilay Vaish , oprofile-list@lists.sourceforge.net Subject: Re: [PATCH 2/6] oprofile/x86: add regs->ip to oprofile trace Message-ID: <20160830113000.GO25086@rric.localdomain> References: <6c745a83dbd69fc6857ef9b2f8be0f011d775936.1472057064.git.jpoimboe@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6c745a83dbd69fc6857ef9b2f8be0f011d775936.1472057064.git.jpoimboe@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24.08.16 11:50:15, Josh Poimboeuf wrote: > dump_trace() doesn't add the interrupted instruction's address to the > trace, so add it manually. This makes the profile more useful, and also > makes it more consistent with what perf profiling does. > > Cc: Robert Richter > Signed-off-by: Josh Poimboeuf > --- > arch/x86/oprofile/backtrace.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c > index cb31a44..2ef6c8b 100644 > --- a/arch/x86/oprofile/backtrace.c > +++ b/arch/x86/oprofile/backtrace.c > @@ -114,9 +114,16 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth) > > if (!user_mode(regs)) { > unsigned long stack = kernel_stack_pointer(regs); > - if (depth) > - dump_trace(NULL, regs, (unsigned long *)stack, 0, > - &backtrace_ops, &depth); > + > + if (!depth) > + return; > + > + oprofile_add_trace(regs->ip); > + if (!--depth) > + return; > + > + dump_trace(NULL, regs, (unsigned long *)stack, 0, > + &backtrace_ops, &depth); Acked-by: Robert Richter Adding oprofile-list in case someone has objections since this may break userland tools. Ingo, please apply the patch to tip once this series is ok to you. Thanks, -Robert > return; > } > > -- > 2.7.4 >