Linux-parisc archive on lore.kernel.org
 help / color / Atom feed
From: Amit Daniel Kachhap <amit.kachhap@arm.com>
To: Mark Rutland <mark.rutland@arm.com>,
	linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com,
	deller@gmx.de, duwe@suse.de,
	James.Bottomley@HansenPartnership.com, james.morse@arm.com,
	jeyu@kernel.org, jpoimboe@redhat.com, jthierry@redhat.com,
	linux-parisc@vger.kernel.org, mingo@redhat.com,
	peterz@infradead.org, rostedt@goodmis.org, svens@stackframe.org,
	takahiro.akashi@linaro.org, will@kernel.org
Subject: Re: [PATCHv2 0/8] arm64: ftrace cleanup + FTRACE_WITH_REGS
Date: Sat, 2 Nov 2019 17:42:25 +0530
Message-ID: <42c113ee-e7fc-3e94-cca0-f05f1c89fdb8@arm.com> (raw)
In-Reply-To: <20191029165832.33606-1-mark.rutland@arm.com>

Hi Mark,

On 10/29/19 10:28 PM, Mark Rutland wrote:
> Hi,
> 
> This series is a reworked version of Torsten's 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].
> 
> Patch 1 adds 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.
> 
> Recently parisc gained ftrace support using patchable-function-entry.
> Patch 2 makes 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.
> 
> Patches 3 and 4 move 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().
> 
> Patches 5 and 6 add some trivial infrastructure, with patch 7 finally
> adding FTRACE_WITH_REGS support. Additional work will be required for
> livepatching (e.g. implementing reliable stack trace), which is
> commented as part of patch 7.
> 
> Patch 8 is a trivial cleanup atop of the rest of the series, making the
> code easier to read and less susceptible to config-specific breakage.
I tested the whole series with my latest in-kernel ptrauth patches [1]
and graph_tracer/function_graph_tracer works fine, So for the whole series,
Tested-by: Amit Daniel Kachhap <amit.kachhap@arm.com>

Also I gave few minor comments in the individual patches. With those
comments,
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>

Thanks,
Amit Daniel
[1]: https://patchwork.kernel.org/cover/11195085/
> 
> Since v1 [3]:
> * Add a couple of people to Cc
> * Fold in Ard's Reviewed-by tag
> * Rename ftrace_code_init_disabled() to ftrace_nop_initialize()
> * Move ftrace_init_nop() to <linux/ftrace.h>, with kerneldoc
> * Update kerneldoc for rec parameters
> 
> 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
> [3] https://lore.kernel.org/r/20191021163426.9408-1-mark.rutland@arm.com
> 
> 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           |  40 ++++++++++-
>   kernel/module.c                  |   2 +-
>   kernel/trace/ftrace.c            |   6 +-
>   17 files changed, 355 insertions(+), 83 deletions(-)
>   delete mode 100644 arch/parisc/kernel/module.lds
> 

  parent reply index

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-29 16:58 Mark Rutland
2019-10-29 16:58 ` [PATCHv2 1/8] ftrace: add ftrace_init_nop() Mark Rutland
2019-10-30 15:00   ` Miroslav Benes
2019-11-02 12:19   ` Amit Daniel Kachhap
2019-11-04 13:11     ` Steven Rostedt
2019-11-05  6:59       ` Amit Kachhap
2019-11-04 13:36     ` Mark Rutland
2019-11-05  6:47       ` Amit Kachhap
2019-11-06 14:15         ` Mark Rutland
2019-11-07  4:40           ` Amit Kachhap
2019-11-04 13:16   ` Steven Rostedt
2019-11-04 13:38     ` Mark Rutland
2019-11-04 13:53       ` Steven Rostedt
2019-10-29 16:58 ` [PATCHv2 2/8] module/ftrace: handle patchable-function-entry Mark Rutland
2019-10-30 15:03   ` Torsten Duwe
2019-10-31  9:02     ` Mark Rutland
2019-10-31 11:42       ` Torsten Duwe
2019-10-31 13:00         ` Mark Rutland
2019-11-04 13:28           ` Steven Rostedt
2019-11-04 14:00             ` Mark Rutland
2019-11-04 13:25   ` Steven Rostedt
2019-11-04 15:51   ` Mark Rutland
2019-11-04 20:58     ` Helge Deller
2019-11-05  8:59   ` Miroslav Benes
2019-10-29 16:58 ` [PATCHv2 3/8] arm64: module: rework special section handling Mark Rutland
2019-10-30 15:25   ` Miroslav Benes
2019-10-29 16:58 ` [PATCHv2 4/8] arm64: module/ftrace: intialize PLT at load time Mark Rutland
2019-11-02 12:20   ` Amit Daniel Kachhap
2019-11-04 13:55     ` Mark Rutland
2019-10-29 16:58 ` [PATCHv2 5/8] arm64: insn: add encoder for MOV (register) Mark Rutland
2019-10-29 16:58 ` [PATCHv2 6/8] arm64: asm-offsets: add S_FP Mark Rutland
2019-10-29 16:58 ` [PATCHv2 7/8] arm64: implement ftrace with regs Mark Rutland
2019-11-02 12:21   ` Amit Daniel Kachhap
2019-11-04 13:51     ` Mark Rutland
     [not found]   ` <CANW9uyug8WKN2fR-FmcW-C_OO_OQ_AvukM+BR7wqiJ9eFQMO9Q@mail.gmail.com>
2019-11-15  7:45     ` Torsten Duwe
2019-11-15 13:59     ` Mark Rutland
2019-10-29 16:58 ` [PATCHv2 8/8] arm64: ftrace: minimize ifdeffery Mark Rutland
2019-10-30 17:02 ` [PATCHv2 0/8] arm64: ftrace cleanup + FTRACE_WITH_REGS Torsten Duwe
2019-10-31 17:16 ` Torsten Duwe
2019-11-01  9:08   ` Mark Rutland
2019-11-01 15:39 ` Sven Schnelle
2019-11-01 16:28   ` Mark Rutland
2019-11-02 12:12 ` Amit Daniel Kachhap [this message]
2019-11-04 12:56   ` Will Deacon
2019-11-04 13:03     ` Amit Kachhap
2019-11-04 14:04       ` Mark Rutland
2019-11-05  7:06         ` Amit Kachhap
2019-11-07 11:31 ` Catalin Marinas

Reply instructions:

You may reply publically 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=42c113ee-e7fc-3e94-cca0-f05f1c89fdb8@arm.com \
    --to=amit.kachhap@arm.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --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=linux-parisc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --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

Linux-parisc archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-parisc/0 linux-parisc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-parisc linux-parisc/ https://lore.kernel.org/linux-parisc \
		linux-parisc@vger.kernel.org
	public-inbox-index linux-parisc

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-parisc


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git