[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAKv+Gu_ceWFQMNUABvOU5Gd_d3EgpfODkzan_riU1YY8rSRZaQ@mail.gmail.com>
Date: Thu, 24 Oct 2019 18:32:21 +0200
From: Ard Biesheuvel <ard.biesheuvel@...aro.org>
To: Mark Rutland <mark.rutland@....com>
Cc: linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Amit Daniel Kachhap <amit.kachhap@....com>,
Catalin Marinas <catalin.marinas@....com>,
Helge Deller <deller@....de>, Torsten Duwe <duwe@...e.de>,
James Morse <james.morse@....com>,
Jessica Yu <jeyu@...nel.org>,
Josh Poimboeuf <jpoimboe@...hat.com>, jthierry@...hat.com,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>, svens@...ckframe.org,
AKASHI Takahiro <takahiro.akashi@...aro.org>,
Will Deacon <will@...nel.org>
Subject: Re: [PATCH 0/8] arm64: ftrace cleanup + FTRACE_WITH_REGS
On Mon, 21 Oct 2019 at 18:34, Mark Rutland <mark.rutland@....com> wrote:
>
> 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
>
For the series,
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@...aro.org>
> 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
>
Powered by blists - more mailing lists