From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755670AbbGPOeu (ORCPT ); Thu, 16 Jul 2015 10:34:50 -0400 Received: from smtprelay0127.hostedemail.com ([216.40.44.127]:42048 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755562AbbGPOet (ORCPT ); Thu, 16 Jul 2015 10:34:49 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2194:2199:2393:2553:2559:2562:3138:3139:3140:3141:3142:3353:3622:3865:3866:3867:3868:3871:3872:3874:4321:5007:6117:6120:6261:7875:7903:9010:10004:10400:10848:10967:11026:11232:11473:11657:11658:11914:12043:12296:12438:12517:12519:12555:12740:13069:13311:13357:13618:14096:14097:21080,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0 X-HE-Tag: rest42_29c082d758a05 X-Filterd-Recvd-Size: 2836 Date: Thu, 16 Jul 2015 10:34:45 -0400 From: Steven Rostedt To: Mark Rutland Cc: AKASHI Takahiro , Jungseok Lee , Catalin Marinas , Will Deacon , "linux-kernel@vger.kernel.org" , "broonie@kernel.org" , "david.griego@linaro.org" , "olof@lixom.net" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [RFC 2/3] arm64: refactor save_stack_trace() Message-ID: <20150716103445.3e94f0ee@gandalf.local.home> In-Reply-To: <20150716142834.GD28631@leverpostej> References: <1436765375-7119-3-git-send-email-takahiro.akashi@linaro.org> <20150714093154.4d73e551@gandalf.local.home> <55A5A75A.1060401@linaro.org> <20150714225105.6c1e4f15@gandalf.local.home> <55A646EE.6030402@linaro.org> <20150715105536.42949ea9@gandalf.local.home> <20150715121337.3b31aa84@gandalf.local.home> <55A6FA82.9000901@linaro.org> <55A703F3.8050203@linaro.org> <20150716142834.GD28631@leverpostej> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 16 Jul 2015 15:28:34 +0100 Mark Rutland wrote: > > diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h > > index c5534fa..868d6f1 100644 > > --- a/arch/arm64/include/asm/ftrace.h > > +++ b/arch/arm64/include/asm/ftrace.h > > @@ -15,6 +15,7 @@ > > > > #define MCOUNT_ADDR ((unsigned long)_mcount) > > #define MCOUNT_INSN_SIZE AARCH64_INSN_SIZE > > +#define FTRACE_STACK_FRAME_OFFSET 4 /* sync it up with stacktrace.c */ > > Is there any reason we couldn't have the arch code dump the stack depth > for each function when it walks the stack to generate the stack trace? > > That means we can provide a more precise result (because we know the > layour of our own stackframes), and we only need walk the stack once to > do so. > > The downside is that we need a new function per-arch to do so. Or we make check_patch() a weak function, and let archs override it. I can possibly break up the code a bit to have helper functions where things are the same. I want x86 to be able to track irq stacks as well, but there's no way to do that generically yet, so having arch specific functions has been on my todo list. -- Steve From mboxrd@z Thu Jan 1 00:00:00 1970 From: rostedt@goodmis.org (Steven Rostedt) Date: Thu, 16 Jul 2015 10:34:45 -0400 Subject: [RFC 2/3] arm64: refactor save_stack_trace() In-Reply-To: <20150716142834.GD28631@leverpostej> References: <1436765375-7119-3-git-send-email-takahiro.akashi@linaro.org> <20150714093154.4d73e551@gandalf.local.home> <55A5A75A.1060401@linaro.org> <20150714225105.6c1e4f15@gandalf.local.home> <55A646EE.6030402@linaro.org> <20150715105536.42949ea9@gandalf.local.home> <20150715121337.3b31aa84@gandalf.local.home> <55A6FA82.9000901@linaro.org> <55A703F3.8050203@linaro.org> <20150716142834.GD28631@leverpostej> Message-ID: <20150716103445.3e94f0ee@gandalf.local.home> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 16 Jul 2015 15:28:34 +0100 Mark Rutland wrote: > > diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h > > index c5534fa..868d6f1 100644 > > --- a/arch/arm64/include/asm/ftrace.h > > +++ b/arch/arm64/include/asm/ftrace.h > > @@ -15,6 +15,7 @@ > > > > #define MCOUNT_ADDR ((unsigned long)_mcount) > > #define MCOUNT_INSN_SIZE AARCH64_INSN_SIZE > > +#define FTRACE_STACK_FRAME_OFFSET 4 /* sync it up with stacktrace.c */ > > Is there any reason we couldn't have the arch code dump the stack depth > for each function when it walks the stack to generate the stack trace? > > That means we can provide a more precise result (because we know the > layour of our own stackframes), and we only need walk the stack once to > do so. > > The downside is that we need a new function per-arch to do so. Or we make check_patch() a weak function, and let archs override it. I can possibly break up the code a bit to have helper functions where things are the same. I want x86 to be able to track irq stacks as well, but there's no way to do that generically yet, so having arch specific functions has been on my todo list. -- Steve