All of lore.kernel.org
 help / color / mirror / Atom feed
From: takahiro.akashi@linaro.org (AKASHI Takahiro)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/6] arm64: Add ftrace support
Date: Thu, 24 Oct 2013 16:08:03 +0900	[thread overview]
Message-ID: <1382598488-13511-2-git-send-email-takahiro.akashi@linaro.org> (raw)
In-Reply-To: <1382598488-13511-1-git-send-email-takahiro.akashi@linaro.org>

This enables FUNCTION_TRACER and FUNCTION_GRAPH_TRACER, and also
provides the base for other tracers which depend on FUNCTION_TRACER.

_mcount() is the entry point which is inserted at the very beginning
of every function by gcc with -pg option.
function graph tracer intercepts instrumented function's return path
by faking the return address (lr) stored in stack in order to trace
a call graph.

See Documentation/trace/ftrace-design.txt

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
---
 arch/arm64/Kconfig               |    2 +
 arch/arm64/include/asm/ftrace.h  |   23 +++++
 arch/arm64/kernel/Makefile       |    6 ++
 arch/arm64/kernel/arm64ksyms.c   |    4 +
 arch/arm64/kernel/entry-ftrace.S |  172 ++++++++++++++++++++++++++++++++++++++
 arch/arm64/kernel/ftrace.c       |   83 ++++++++++++++++++
 6 files changed, 290 insertions(+)
 create mode 100644 arch/arm64/include/asm/ftrace.h
 create mode 100644 arch/arm64/kernel/entry-ftrace.S
 create mode 100644 arch/arm64/kernel/ftrace.c

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index da388e4..3776319 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -23,6 +23,8 @@ config ARM64
 	select HAVE_DEBUG_KMEMLEAK
 	select HAVE_DMA_API_DEBUG
 	select HAVE_DMA_ATTRS
+	select HAVE_FUNCTION_TRACER
+	select HAVE_FUNCTION_GRAPH_TRACER
 	select HAVE_GENERIC_DMA_COHERENT
 	select HAVE_HW_BREAKPOINT if PERF_EVENTS
 	select HAVE_MEMBLOCK
diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h
new file mode 100644
index 0000000..0d5dfdb
--- /dev/null
+++ b/arch/arm64/include/asm/ftrace.h
@@ -0,0 +1,23 @@
+/*
+ * arch/arm64/include/asm/ftrace.h
+ *
+ * Copyright (C) 2013 Linaro Limited
+ * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __ASM_FTRACE_H
+#define __ASM_FTRACE_H
+
+#ifdef CONFIG_FUNCTION_TRACER
+#define MCOUNT_ADDR		((unsigned long)_mcount)
+#define MCOUNT_INSN_SIZE	4 /* sizeof mcount call */
+
+#ifndef __ASSEMBLY__
+extern void _mcount(unsigned long);
+#endif /* __ASSEMBLY__ */
+#endif /* CONFIG_FUNCTION_TRACER */
+
+#endif /* __ASM_FTRACE_H */
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index b7db65e..92429e4 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -5,6 +5,11 @@
 CPPFLAGS_vmlinux.lds	:= -DTEXT_OFFSET=$(TEXT_OFFSET)
 AFLAGS_head.o		:= -DTEXT_OFFSET=$(TEXT_OFFSET)
 
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_ftrace.o = -pg
+CFLAGS_REMOVE_insn.o = -pg
+endif
+
 # Object file lists.
 arm64-obj-y		:= cputable.o debug-monitors.o entry.o irq.o fpsimd.o	\
 			   entry-fpsimd.o process.o ptrace.o setup.o signal.o	\
@@ -13,6 +18,7 @@ arm64-obj-y		:= cputable.o debug-monitors.o entry.o irq.o fpsimd.o	\
 
 arm64-obj-$(CONFIG_COMPAT)		+= sys32.o kuser32.o signal32.o 	\
 					   sys_compat.o
+arm64-obj-$(CONFIG_FUNCTION_TRACER)	+= ftrace.o entry-ftrace.o
 arm64-obj-$(CONFIG_MODULES)		+= arm64ksyms.o module.o
 arm64-obj-$(CONFIG_SMP)			+= smp.o smp_spin_table.o smp_psci.o
 arm64-obj-$(CONFIG_HW_PERF_EVENTS)	+= perf_event.o
diff --git a/arch/arm64/kernel/arm64ksyms.c b/arch/arm64/kernel/arm64ksyms.c
index 41b4f62..ef9b63d 100644
--- a/arch/arm64/kernel/arm64ksyms.c
+++ b/arch/arm64/kernel/arm64ksyms.c
@@ -58,3 +58,7 @@ EXPORT_SYMBOL(clear_bit);
 EXPORT_SYMBOL(test_and_clear_bit);
 EXPORT_SYMBOL(change_bit);
 EXPORT_SYMBOL(test_and_change_bit);
+
+#ifdef CONFIG_FUNCTION_TRACER
+EXPORT_SYMBOL(_mcount);
+#endif
diff --git a/arch/arm64/kernel/entry-ftrace.S b/arch/arm64/kernel/entry-ftrace.S
new file mode 100644
index 0000000..ae14ece
--- /dev/null
+++ b/arch/arm64/kernel/entry-ftrace.S
@@ -0,0 +1,172 @@
+/*
+ * arch/arm64/kernel/entry-ftrace.S
+ *
+ * Copyright (C) 2013 Linaro Limited
+ * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/linkage.h>
+#include <asm/ftrace.h>
+
+/*
+ * Gcc with -pg will put the following code in the beginning of each function:
+ *      mov x0, x30
+ *      bl _mcount
+ * On contrary to tricky arm(32) implementation, this is a normal function
+ * call and so x0 & x30 will be safely saved and restored around tracer
+ * call (_mcount/ftrace_caller) in an instrumented function (callsite).
+ *
+ * stack layout:
+ *   0 ---------------------------------------- sp in tracer function
+ *      x29: fp in instrumented function	fp is not winded
+ *     --------------------
+ *      x30: lr in tracer function
+ * +16 --------------------
+ *      x0: arg 0 (lr in instrumented function)
+ *     --------------------
+ *      x1 (temporary)
+ * +32 --------------------
+ *      x2 (temporary)
+ *     --------------------
+ *      (don't care)
+ * +48 ---------------------------------------- sp in instrumented function
+ *
+ *     ....
+ *
+ * +xx ---------------------------------------- fp in instrumented function
+ *      x29: fp in parent function
+ *     --------------------
+ *      x30: lr in insturmented function
+ *     --------------------
+ *      xxx
+ */
+
+	.macro mcount_enter
+	stp	x29, x30, [sp, #-48]!
+	stp	x0, x1,   [sp, #16]
+	str	x2,       [sp, #32]
+	.endm
+
+	.macro mcount_exit
+	ldr	x2,       [sp, #32]
+	ldp	x0, x1,   [sp, #16]
+	ldp	x29, x30, [sp], #48
+	ret
+	.endm
+
+	.macro mcount_adjust_addr rd, rn
+	sub	\rd, \rn, #MCOUNT_INSN_SIZE
+	.endm
+
+	/* for instrumented function's parent */
+	.macro mcount_get_parent_fp reg
+	ldr	\reg, [sp]
+	ldr	\reg, [\reg]
+	.endm
+
+	/* for instrumented function */
+	.macro mcount_get_pc0 reg
+	mcount_adjust_addr	\reg, x30
+	.endm
+
+	.macro mcount_get_pc reg
+	ldr	\reg, [sp, #8]
+	mcount_adjust_addr	\reg, \reg
+	.endm
+
+	.macro mcount_get_lr reg
+	ldr	\reg, [sp, #16]
+	mcount_adjust_addr	\reg, \reg
+	.endm
+
+	.macro mcount_get_saved_lr_addr reg
+	ldr	\reg, [sp]
+	add	\reg, \reg, #8
+	.endm
+
+/*
+ * void _mcount(unsigned long return_address)
+ * @return_address: return address to instrumented function (callsite)
+ */
+ENTRY(_mcount)
+#ifdef CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST
+	ldr	x0, =ftrace_trace_stop
+	ldr	x0, [x0]		// if ftrace_trace_stop
+	ret				//   return;
+#endif
+	mcount_enter
+
+	ldr	x0, =ftrace_trace_function
+	ldr	x2, [x0]
+	adr	x0, ftrace_stub
+	cmp	x0, x2			// if (ftrace_trace_function
+	b.eq	skip_ftrace_call	//     != ftrace_stub) {
+
+	mcount_get_pc	x0		//       pc in callsite
+	mcount_get_lr	x1		//       callsite's lr (adjusted)
+	blr	x2			//   (*ftrace_trace_function)(pc, lr);
+
+#ifndef CONFIG_FUNCTION_GRAPH_TRACER
+skip_ftrace_call:			//   return;
+	mcount_exit			// }
+#else
+	mcount_exit			//   return;
+					// }
+skip_ftrace_call:
+	ldr	x1, =ftrace_graph_return
+	ldr	x2, [x1]		//   if ((ftrace_graph_return
+	cmp	x0, x2			//        != ftrace_stub)
+	b.ne	ftrace_graph_caller
+
+	ldr	x1, =ftrace_graph_entry	//     || (ftrace_graph_entry
+	ldr	x2, [x1]		//        != ftrace_graph_entry_stub))
+	ldr	x0, =ftrace_graph_entry_stub
+	cmp	x0, x2
+	b.ne	ftrace_graph_caller	//     ftrace_graph_caller();
+
+	mcount_exit
+#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
+ENDPROC(_mcount)
+
+ENTRY(ftrace_stub)
+	ret
+ENDPROC(ftrace_stub)
+
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
+/*
+ * void ftrace_graph_caller(void)
+ *
+ * This function fakes instrumented function's return address to make a hook
+ * on function return path by calling prepare_ftrace_return(). This function
+ * is assumed to be jumped into from  _mcount() or ftrace_caller() and so no
+ * context need be saved here.
+ */
+ENTRY(ftrace_graph_caller)
+	mcount_get_saved_lr_addr  x0	//     pointer to callsite's saved lr
+	mcount_get_pc		  x1	//     pc in callsite
+	mcount_get_parent_fp	  x2	//     parent's fp
+	bl	prepare_ftrace_return	// prepare_ftrace_return(&lr, pc, fp)
+
+	mcount_exit
+ENDPROC(ftrace_graph_caller)
+
+/*
+ * void return_to_handler(void)
+ *
+ * return hook handler
+ * @fp is used to check against the value specified in ftrace_graph_caller()
+ * only when CONFIG_FUNCTION_GRAPH_FP_TEST is enabled.
+ */
+	.global return_to_handler
+return_to_handler:
+	str	x0, [sp, #-16]!
+	mov	x0, x29			//     parent's fp
+	bl	ftrace_return_to_handler// addr = ftrace_return_to_hander(fp);
+	mov	x30, x0			// restore the original return address
+	ldr	x0, [sp], #16
+	ret
+#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
diff --git a/arch/arm64/kernel/ftrace.c b/arch/arm64/kernel/ftrace.c
new file mode 100644
index 0000000..e779e16
--- /dev/null
+++ b/arch/arm64/kernel/ftrace.c
@@ -0,0 +1,83 @@
+/*
+ * arch/arm64/kernel/ftrace.c
+ *
+ * Copyright (C) 2013 Linaro Limited
+ * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/ftrace.h>
+#include <linux/swab.h>
+#include <linux/uaccess.h>
+
+#include <asm/cacheflush.h>
+#include <asm/ftrace.h>
+#include <asm/insn.h>
+
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
+void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,
+			   unsigned long frame_pointer)
+{
+	unsigned long return_hooker = (unsigned long)&return_to_handler;
+	unsigned long old, faulted;
+	struct ftrace_graph_ent trace;
+	int err;
+
+	if (unlikely(atomic_read(&current->tracing_graph_pause)))
+		return;
+
+#if 1 /* FIXME */
+	/*
+	 * Protect against fault, even if it shouldn't
+	 * happen. This tool is too much intrusive to
+	 * ignore such a protection.
+	 * Actually we want to do
+	 *     old = *parent;
+	 *     parent = return_hooker;
+	 */
+	asm volatile(
+"1:	ldr	%0, [%2]\n"
+"2:	str	%3, [%2]\n"
+"	mov	%1, #0\n"
+"3:\n"
+"	.pushsection .fixup, \"ax\"\n"
+"4:	mov	%1, #1\n"
+"	b	3b\n"
+"	.popsection\n"
+"	.pushsection __ex_table, \"a\"\n"
+"	.align 3\n"
+"	.quad 1b, 4b, 2b, 4b\n"
+"	.popsection\n"
+	: "=&r" (old), "=r" (faulted) : "r" (parent), "r" (return_hooker)
+	);
+
+	if (unlikely(faulted)) {
+		ftrace_graph_stop();
+		WARN_ON(1);
+		return;
+	}
+#else
+	old = *parent;
+	*parent = return_hooker;
+#endif
+
+	trace.func = self_addr;
+	trace.depth = current->curr_ret_stack + 1;
+
+	/* Only trace if the calling function expects to */
+	if (!ftrace_graph_entry(&trace)) {
+		*parent = old;
+		return;
+	}
+
+	err = ftrace_push_return_trace(old, self_addr, &trace.depth,
+				       frame_pointer);
+	if (err == -EBUSY) {
+		*parent = old;
+		return;
+	}
+}
+#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
-- 
1.7.9.5

  reply	other threads:[~2013-10-24  7:08 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-24  7:08 [PATCH v2 0/6] arm64: Add ftrace support AKASHI Takahiro
2013-10-24  7:08 ` AKASHI Takahiro [this message]
2013-10-24  7:08 ` [PATCH v2 2/6] arm64: ftrace: Add dynamic " AKASHI Takahiro
2013-10-24  7:08 ` [PATCH v2 3/6] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2013-10-24  7:08 ` [PATCH v2 4/6] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2013-10-24  7:08 ` [PATCH v2 5/6] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2013-10-24  7:08 ` [PATCH v2 6/6] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-02-07 10:18 ` [PATCH v3 0/6] arm64: Add ftrace support AKASHI Takahiro
2014-02-07 10:18   ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 1/6] " AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-10 15:03     ` Arnd Bergmann
2014-02-10 15:03       ` Arnd Bergmann
2014-02-10 15:19       ` Steven Rostedt
2014-02-10 15:19         ` Steven Rostedt
     [not found]       ` <CAB5YjtCr2KL_q1FF8kO_VKe+feg7f9qFRKtwf3xj2h0ENwuB5g@mail.gmail.com>
2014-02-12 11:03         ` Arnd Bergmann
2014-02-12 11:03           ` Arnd Bergmann
2014-02-17 18:12     ` Will Deacon
2014-02-17 18:12       ` Will Deacon
2014-02-19 10:46       ` AKASHI Takahiro
2014-02-19 10:46         ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 2/6] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 3/6] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 4/6] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 5/6] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-17 19:29     ` Will Deacon
2014-02-17 19:29       ` Will Deacon
2014-02-19 10:48       ` AKASHI Takahiro
2014-02-19 10:48         ` AKASHI Takahiro
2014-02-07 10:18   ` [PATCH v3 6/6] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-02-07 10:18     ` AKASHI Takahiro
2014-02-10 14:21   ` [PATCH v3 0/6] arm64: Add ftrace support Kulkarni, Ganapatrao
2014-02-10 14:21     ` Kulkarni, Ganapatrao
2014-02-25  9:23   ` [PATCH v4 0/7] " AKASHI Takahiro
2014-02-25  9:23     ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 1/7] " AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25 15:38       ` Kulkarni, Ganapatrao
2014-02-25 15:38         ` Kulkarni, Ganapatrao
2014-02-28  5:06         ` AKASHI Takahiro
2014-02-28  5:06           ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 2/7] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 3/7] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 4/7] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 5/7] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 6/7] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-25  9:23     ` [PATCH v4 7/7] arm64: add __ASSEMBLY__ in asm/insn.h AKASHI Takahiro
2014-02-25  9:23       ` AKASHI Takahiro
2014-02-28  5:18     ` [PATCH v5 0/7] arm64: Add ftrace support AKASHI Takahiro
2014-02-28  5:18       ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 1/7] " AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 2/7] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 3/7] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 4/7] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 5/7] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 6/7] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-02-28  5:18       ` [PATCH v5 7/7] arm64: add __ASSEMBLY__ in asm/insn.h AKASHI Takahiro
2014-02-28  5:18         ` AKASHI Takahiro
2014-03-11 14:35       ` [PATCH v5 0/7] arm64: Add ftrace support Will Deacon
2014-03-11 14:35         ` Will Deacon
2014-03-12  1:47         ` AKASHI Takahiro
2014-03-12  1:47           ` AKASHI Takahiro
2014-03-12  1:58           ` Steven Rostedt
2014-03-12  1:58             ` Steven Rostedt
2014-03-12  2:02           ` Steven Rostedt
2014-03-12  2:02             ` Steven Rostedt
2014-03-13 10:13       ` [PATCH v6 " AKASHI Takahiro
2014-03-13 10:13         ` AKASHI Takahiro
2014-03-13 10:13         ` [PATCH v6 1/7] arm64: add __ASSEMBLY__ in asm/insn.h AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 12:19           ` Will Deacon
2014-03-13 12:19             ` Will Deacon
2014-03-13 10:13         ` [PATCH v6 2/7] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 12:19           ` Will Deacon
2014-03-13 12:19             ` Will Deacon
2014-03-13 10:13         ` [PATCH v6 3/7] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 12:38           ` Will Deacon
2014-03-13 12:38             ` Will Deacon
2014-03-13 14:57             ` AKASHI Takahiro
2014-03-13 14:57               ` AKASHI Takahiro
2014-03-13 16:05               ` Will Deacon
2014-03-13 16:05                 ` Will Deacon
2014-03-13 10:13         ` [PATCH v6 4/7] arm64: Add ftrace support AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 17:08           ` Will Deacon
2014-03-13 17:08             ` Will Deacon
2014-03-13 18:27             ` Steven Rostedt
2014-03-13 18:27               ` Steven Rostedt
2014-03-13 18:37               ` Will Deacon
2014-03-13 18:37                 ` Will Deacon
2014-03-13 18:49                 ` Steven Rostedt
2014-03-13 18:49                   ` Steven Rostedt
2014-03-14  4:45             ` AKASHI Takahiro
2014-03-14  4:45               ` AKASHI Takahiro
2014-03-14 10:07               ` Will Deacon
2014-03-14 10:07                 ` Will Deacon
2014-03-14 16:13                 ` AKASHI Takahiro
2014-03-14 16:13                   ` AKASHI Takahiro
2014-03-13 10:13         ` [PATCH v6 5/7] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 18:10           ` Will Deacon
2014-03-13 18:10             ` Will Deacon
2014-03-13 18:33             ` Steven Rostedt
2014-03-13 18:33               ` Steven Rostedt
2014-03-14  5:28               ` AKASHI Takahiro
2014-03-14  5:28                 ` AKASHI Takahiro
2014-03-14  5:26             ` AKASHI Takahiro
2014-03-14  5:26               ` AKASHI Takahiro
2014-03-13 10:13         ` [PATCH v6 6/7] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 15:54           ` Will Deacon
2014-03-13 15:54             ` Will Deacon
2014-03-13 18:07             ` Steven Rostedt
2014-03-13 18:07               ` Steven Rostedt
2014-03-14  4:55               ` AKASHI Takahiro
2014-03-14  4:55                 ` AKASHI Takahiro
2014-03-14  3:00             ` AKASHI Takahiro
2014-03-14  3:00               ` AKASHI Takahiro
2014-03-14 10:09               ` Will Deacon
2014-03-14 10:09                 ` Will Deacon
2014-03-14 16:15                 ` AKASHI Takahiro
2014-03-14 16:15                   ` AKASHI Takahiro
2014-03-13 10:13         ` [PATCH v6 7/7] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-03-13 10:13           ` AKASHI Takahiro
2014-03-13 16:25           ` Will Deacon
2014-03-13 16:25             ` Will Deacon
2014-03-14  3:50             ` AKASHI Takahiro
2014-03-14  3:50               ` AKASHI Takahiro
2014-03-15  5:40         ` [PATCH v7 0/7] arm64: Add ftrace support AKASHI Takahiro
2014-03-15  5:40           ` AKASHI Takahiro
2014-03-15  5:40           ` [PATCH v7 1/7] arm64: add __ASSEMBLY__ in asm/insn.h AKASHI Takahiro
2014-03-15  5:40             ` AKASHI Takahiro
2014-03-15  5:40           ` [PATCH v7 2/7] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-03-15  5:40             ` AKASHI Takahiro
2014-03-15  5:40           ` [PATCH v7 3/7] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-03-15  5:40             ` AKASHI Takahiro
2014-04-16 13:31             ` Will Deacon
2014-04-16 13:31               ` Will Deacon
2014-04-30  9:54           ` [PATCH v8 0/8] arm64: Add ftrace support AKASHI Takahiro
2014-04-30  9:54             ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 1/8] ftrace: make CALLER_ADDRx macros more generic AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-05-02 18:13               ` Will Deacon
2014-05-02 18:13                 ` Will Deacon
2014-05-02 19:02                 ` Steven Rostedt
2014-05-02 19:02                   ` Steven Rostedt
2014-05-02 19:03                 ` Steven Rostedt
2014-05-02 19:03                   ` Steven Rostedt
2014-05-02 19:19               ` Steven Rostedt
2014-05-02 19:19                 ` Steven Rostedt
2014-05-12 15:58                 ` Will Deacon
2014-05-12 15:58                   ` Will Deacon
2014-05-12 16:05                   ` Steven Rostedt
2014-05-12 16:05                     ` Steven Rostedt
2014-05-12 16:12                     ` Will Deacon
2014-05-12 16:12                       ` Will Deacon
2014-05-12 17:23                       ` Steven Rostedt
2014-05-12 17:23                         ` Steven Rostedt
2014-05-20 11:29                 ` AKASHI Takahiro
2014-05-20 11:29                   ` AKASHI Takahiro
2014-05-20 11:31               ` [PATCH v8_1] " AKASHI Takahiro
2014-05-20 11:31                 ` AKASHI Takahiro
2014-06-11 12:34               ` [PATCH v8 1/8] " Geert Uytterhoeven
2014-06-11 12:34                 ` Geert Uytterhoeven
2014-06-11 12:34                 ` Geert Uytterhoeven
2014-06-11 13:23                 ` [PATCH] arm/ftrace: Fix function_return_addr() to function_return_address() Steven Rostedt
2014-06-11 13:23                   ` Steven Rostedt
2014-06-11 13:23                   ` Steven Rostedt
2014-06-11 13:38                   ` Geert Uytterhoeven
2014-06-11 13:38                     ` Geert Uytterhoeven
2014-06-11 13:38                     ` Geert Uytterhoeven
2014-06-11 13:44                     ` Steven Rostedt
2014-06-11 13:44                       ` Steven Rostedt
2014-06-11 13:44                       ` Steven Rostedt
2014-04-30  9:54             ` [PATCH v8 2/8] arm64: add __ASSEMBLY__ in asm/insn.h AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 3/8] arm64: Add 'notrace' attribute to unwind_frame() for ftrace AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 4/8] ftrace: Add arm64 support to recordmcount AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 5/8] arm64: Add ftrace support AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-05-28 20:19               ` Mark Brown
2014-05-28 20:19                 ` Mark Brown
2014-05-29  8:07                 ` Will Deacon
2014-05-29  8:07                   ` Will Deacon
2014-05-29  9:47                   ` Mark Brown
2014-05-29  9:47                     ` Mark Brown
2014-04-30  9:54             ` [PATCH v8 6/8] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 7/8] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-04-30  9:54             ` [PATCH v8 8/8] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-04-30  9:54               ` AKASHI Takahiro
2014-03-15  5:45         ` [PATCH v7 4/7] arm64: Add ftrace support AKASHI Takahiro
2014-03-15  5:45           ` AKASHI Takahiro
2014-04-16 13:45           ` Will Deacon
2014-04-16 13:45             ` Will Deacon
2014-03-15  5:45         ` [PATCH v7 5/7] arm64: ftrace: Add dynamic " AKASHI Takahiro
2014-03-15  5:45           ` AKASHI Takahiro
2014-04-16 13:48           ` Will Deacon
2014-04-16 13:48             ` Will Deacon
2014-03-15  5:45         ` [PATCH v7 6/7] arm64: ftrace: Add CALLER_ADDRx macros AKASHI Takahiro
2014-03-15  5:45           ` AKASHI Takahiro
2014-04-16 13:52           ` Will Deacon
2014-04-16 13:52             ` Will Deacon
2014-04-28 10:41             ` AKASHI Takahiro
2014-04-28 10:41               ` AKASHI Takahiro
2014-05-27 13:10               ` [for-next][PATCH] ftrace: Make CALLER_ADDRx macros more generic Steven Rostedt
2014-05-27 13:10                 ` Steven Rostedt
2014-05-27 18:49                 ` Will Deacon
2014-05-27 18:49                   ` Will Deacon
2014-05-29  5:27                   ` AKASHI Takahiro
2014-05-29  5:27                     ` AKASHI Takahiro
2014-05-29  8:10                     ` Will Deacon
2014-05-29  8:10                       ` Will Deacon
2014-03-15  5:45         ` [PATCH v7 7/7] arm64: ftrace: Add system call tracepoint AKASHI Takahiro
2014-03-15  5:45           ` AKASHI Takahiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1382598488-13511-2-git-send-email-takahiro.akashi@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.