From mboxrd@z Thu Jan 1 00:00:00 1970 From: julien.thierry@arm.com (Julien Thierry) Date: Fri, 3 Nov 2017 09:25:07 +0000 Subject: [PATCH 1/2] arm64: Fix static use of function graph In-Reply-To: <20171102101831.GU9463@n2100.armlinux.org.uk> References: <1509546824-46165-1-git-send-email-julien.thierry@arm.com> <1509546824-46165-2-git-send-email-julien.thierry@arm.com> <20171102044306.GL10563@linaro.org> <20171102101831.GU9463@n2100.armlinux.org.uk> Message-ID: <46841fbe-a8d6-53cc-3cfb-e4cd10f630c3@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, On 02/11/17 10:18, Russell King - ARM Linux wrote: > On Thu, Nov 02, 2017 at 01:43:07PM +0900, AKASHI Takahiro wrote: >> On Wed, Nov 01, 2017 at 02:33:43PM +0000, Julien Thierry wrote: >>> Function graph does not work currently when CONFIG_DYNAMIC_TRACE is not >>> set. This is because ftrace_function_trace is not always set to ftrace_stub >>> when function_graph is in use. >>> >>> Do not skip checking of graph tracer functions when ftrace_function_trace >>> is set. >>> >>> Signed-off-by: Julien Thierry >>> Cc: Catalin Marinas >>> Cc: Will Deacon >>> Cc: Mark Rutland >>> Cc: AKASHI Takahiro >> >> Reviewed-by: AKASHI Takahiro >> >> I think that arm has the same issue, hoping the following patch >> will fix it: Thanks for noticing this and for the patch. I'll re-spin a version for this series and include your patch. >> === >> >From e25bcf50d1acde698285a0c64f72d97f8b17e3fb Mon Sep 17 00:00:00 2001 >> From: AKASHI Takahiro >> Date: Thu, 2 Nov 2017 11:35:04 +0900 >> Subject: [PATCH] arm: ftrace: function_graph with DYNAMIC_FTRACE >> >> --- >> arch/arm/kernel/entry-ftrace.S | 12 +++++------- >> 1 file changed, 5 insertions(+), 7 deletions(-) >> >> diff --git a/arch/arm/kernel/entry-ftrace.S b/arch/arm/kernel/entry-ftrace.S >> index efcd9f25a14b..ef94c73ad996 100644 >> --- a/arch/arm/kernel/entry-ftrace.S >> +++ b/arch/arm/kernel/entry-ftrace.S >> @@ -68,8 +68,12 @@ >> ldr r2, [r0] >> adr r0, .Lftrace_stub >> cmp r0, r2 >> - bne 1f >> + beq 1f >> >> + mcount_get_lr r1 @ lr of instrumented func >> + mcount_adjust_addr r0, lr @ instrumented function >> + blx r2 > > NAK. Not all CPUs support "blx". I don't see why you'd make this > gratuitous change when just moving code around. Please separate > your changes in future. > I'll change the blx back to the badr + mov instructions in the new version. Thanks, -- Julien Thierry