From: Mark Rutland <mark.rutland@arm.com>
To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: mark.rutland@arm.com, jthierry@redhat.com, will@kernel.org,
ard.biesheuvel@linaro.org, peterz@infradead.org,
catalin.marinas@arm.com, deller@gmx.de, jpoimboe@redhat.com,
rostedt@goodmis.org, takahiro.akashi@linaro.org,
mingo@redhat.com, james.morse@arm.com, jeyu@kernel.org,
amit.kachhap@arm.com, svens@stackframe.org, duwe@suse.de
Subject: [PATCH 0/8] arm64: ftrace cleanup + FTRACE_WITH_REGS
Date: Mon, 21 Oct 2019 17:34:18 +0100 [thread overview]
Message-ID: <20191021163426.9408-1-mark.rutland@arm.com> (raw)
Hi,
This series is a reworked version of Torsten's v8 FTRACE_WITH_REGS
series [1]. I've tried to rework the existing code in preparatory
patches so that the patchable-function-entry bits slot in with fewer
surprises. This version is based on v5.4-rc3, and can be found in my
arm64/ftrace-with-regs branch [2].
I've added an (optional) ftrace_init_nop(), which the core code uses to
initialize callsites. This allows us to avoid a synthetic MCOUNT_ADDR
symbol, and more cleanly separates the one-time initialization of the
callsite from dynamic NOP<->CALL modification. Architectures which don't
implement this get the existing ftrace_make_nop() with MCOUNT_ADDR.
I've moved the module PLT initialization to module load time, which
simplifies runtime callsite modification. This also means that we don't
transitently mark the module text RW, and will allow for the removal of
module_disable_ro().
Since the last posting, parisc gained ftrace support using
patchable-function-entry. I've made the handling of module callsite
locations common in kernel/module.c with a new FTRACE_CALLSITE_SECTION
definition, and removed the newly redundant bits from arch/parisc.
Thanks,
Mark.
[1] https://lore.kernel.org/r/20190208150826.44EBC68DD2@newverein.lst.de
[2] git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/ftrace-with-regs
Mark Rutland (7):
ftrace: add ftrace_init_nop()
module/ftrace: handle patchable-function-entry
arm64: module: rework special section handling
arm64: module/ftrace: intialize PLT at load time
arm64: insn: add encoder for MOV (register)
arm64: asm-offsets: add S_FP
arm64: ftrace: minimize ifdeffery
Torsten Duwe (1):
arm64: implement ftrace with regs
arch/arm64/Kconfig | 2 +
arch/arm64/Makefile | 5 ++
arch/arm64/include/asm/ftrace.h | 23 +++++++
arch/arm64/include/asm/insn.h | 3 +
arch/arm64/include/asm/module.h | 2 +-
arch/arm64/kernel/asm-offsets.c | 1 +
arch/arm64/kernel/entry-ftrace.S | 140 +++++++++++++++++++++++++++++++++++++--
arch/arm64/kernel/ftrace.c | 123 ++++++++++++++++++++--------------
arch/arm64/kernel/insn.c | 13 ++++
arch/arm64/kernel/module-plts.c | 3 +-
arch/arm64/kernel/module.c | 57 +++++++++++++---
arch/parisc/Makefile | 1 -
arch/parisc/kernel/module.c | 10 ++-
arch/parisc/kernel/module.lds | 7 --
include/linux/ftrace.h | 5 ++
kernel/module.c | 2 +-
kernel/trace/ftrace.c | 13 +++-
17 files changed, 330 insertions(+), 80 deletions(-)
delete mode 100644 arch/parisc/kernel/module.lds
--
2.11.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-10-21 16:35 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-21 16:34 Mark Rutland [this message]
2019-10-21 16:34 ` [PATCH 1/8] ftrace: add ftrace_init_nop() Mark Rutland
2019-10-21 18:07 ` Steven Rostedt
2019-10-22 11:28 ` Mark Rutland
2019-10-22 12:54 ` Steven Rostedt
2019-10-22 15:30 ` Mark Rutland
2019-10-22 15:33 ` Mark Rutland
2019-10-22 16:01 ` Steven Rostedt
2019-10-21 16:34 ` [PATCH 2/8] module/ftrace: handle patchable-function-entry Mark Rutland
2019-10-21 16:34 ` [PATCH 3/8] arm64: module: rework special section handling Mark Rutland
2019-10-21 16:34 ` [PATCH 4/8] arm64: module/ftrace: intialize PLT at load time Mark Rutland
2019-10-21 16:34 ` [PATCH 5/8] arm64: insn: add encoder for MOV (register) Mark Rutland
2019-10-21 16:34 ` [PATCH 6/8] arm64: asm-offsets: add S_FP Mark Rutland
2019-10-21 16:34 ` [PATCH 7/8] arm64: implement ftrace with regs Mark Rutland
2019-10-21 16:34 ` [PATCH 8/8] arm64: ftrace: minimize ifdeffery Mark Rutland
2019-10-24 16:32 ` [PATCH 0/8] arm64: ftrace cleanup + FTRACE_WITH_REGS Ard Biesheuvel
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=20191021163426.9408-1-mark.rutland@arm.com \
--to=mark.rutland@arm.com \
--cc=amit.kachhap@arm.com \
--cc=ard.biesheuvel@linaro.org \
--cc=catalin.marinas@arm.com \
--cc=deller@gmx.de \
--cc=duwe@suse.de \
--cc=james.morse@arm.com \
--cc=jeyu@kernel.org \
--cc=jpoimboe@redhat.com \
--cc=jthierry@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=svens@stackframe.org \
--cc=takahiro.akashi@linaro.org \
--cc=will@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox