From: Naveen N Rao <naveen@kernel.org>
To: <linuxppc-dev@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
Florent Revest <revest@chromium.org>,
Nicholas Piggin <npiggin@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Masami Hiramatsu <mhiramat@kernel.org>
Subject: [RFC PATCH 0/9] powerpc: ftrace updates
Date: Fri, 8 Dec 2023 22:00:39 +0530 [thread overview]
Message-ID: <cover.1702045299.git.naveen@kernel.org> (raw)
Early RFC.
This series attempts to address couple of issues with the existing
support for ftrace on powerpc, with a view towards improving performance
when ftrace is not enabled. See patch 6 for more details.
Patches 7 and 8 implement support for ftrace direct calls, through
adding support for DYNAMIC_FTRACE_WITH_CALL_OPS.
The first 5 patches are minor cleanups and updates, and can go in
separately.
This series depends on Benjamin Gray's series adding support for
patch_ulong().
I have lightly tested this patch set and it looks to be working well. As
described in patch 6, context_switch microbenchmark shows an improvement
of ~6% with this series with ftrace disabled. Performance when ftrace is
enabled reduces due to how DYNAMIC_FTRACE_WITH_CALL_OPS works, and due
to support for direct calls. Some of that can hopefully be improved, if
this approach is otherwise ok.
- Naveen
Naveen N Rao (8):
powerpc/ftrace: Fix indentation in ftrace.h
powerpc/ftrace: Unify 32-bit and 64-bit ftrace entry code
powerpc/ftrace: Remove nops after the call to ftrace_stub
powerpc/kprobes: Use ftrace to determine if a probe is at function
entry
powerpc/ftrace: Update and move function profile instructions
out-of-line
powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_CALL_OPS
powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_DIRECT_CALLS
samples/ftrace: Add support for ftrace direct samples on powerpc
Sathvika Vasireddy (1):
powerpc/Kconfig: Select FUNCTION_ALIGNMENT_4B
arch/powerpc/Kconfig | 6 +
arch/powerpc/Makefile | 6 +-
arch/powerpc/include/asm/code-patching.h | 15 +-
arch/powerpc/include/asm/ftrace.h | 35 ++-
arch/powerpc/include/asm/linkage.h | 3 -
arch/powerpc/kernel/asm-offsets.c | 7 +
arch/powerpc/kernel/kprobes.c | 69 +++++-
arch/powerpc/kernel/trace/ftrace.c | 231 ++++++++++++++++----
arch/powerpc/kernel/trace/ftrace_entry.S | 182 +++++++++++----
samples/ftrace/ftrace-direct-modify.c | 94 +++++++-
samples/ftrace/ftrace-direct-multi-modify.c | 110 +++++++++-
samples/ftrace/ftrace-direct-multi.c | 64 +++++-
samples/ftrace/ftrace-direct-too.c | 72 +++++-
samples/ftrace/ftrace-direct.c | 61 +++++-
14 files changed, 845 insertions(+), 110 deletions(-)
base-commit: 9a15ae60f2c9707433b01e55815cd9142be102b2
prerequisite-patch-id: 38d3e705bf2e27cfa5e3ba369a6ded84ba6615c2
prerequisite-patch-id: 609d292e054b2396b603890522a940fa0bdfb6d8
prerequisite-patch-id: 6f7213fb77b1260defbf43be0e47bff9c80054cc
prerequisite-patch-id: f2328625ae2193c3c8e336b154b62030940cece8
--
2.43.0
WARNING: multiple messages have this Message-ID (diff)
From: Naveen N Rao <naveen@kernel.org>
To: <linuxppc-dev@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Mark Rutland <mark.rutland@arm.com>,
Florent Revest <revest@chromium.org>,
Masami Hiramatsu <mhiramat@kernel.org>
Subject: [RFC PATCH 0/9] powerpc: ftrace updates
Date: Fri, 8 Dec 2023 22:00:39 +0530 [thread overview]
Message-ID: <cover.1702045299.git.naveen@kernel.org> (raw)
Early RFC.
This series attempts to address couple of issues with the existing
support for ftrace on powerpc, with a view towards improving performance
when ftrace is not enabled. See patch 6 for more details.
Patches 7 and 8 implement support for ftrace direct calls, through
adding support for DYNAMIC_FTRACE_WITH_CALL_OPS.
The first 5 patches are minor cleanups and updates, and can go in
separately.
This series depends on Benjamin Gray's series adding support for
patch_ulong().
I have lightly tested this patch set and it looks to be working well. As
described in patch 6, context_switch microbenchmark shows an improvement
of ~6% with this series with ftrace disabled. Performance when ftrace is
enabled reduces due to how DYNAMIC_FTRACE_WITH_CALL_OPS works, and due
to support for direct calls. Some of that can hopefully be improved, if
this approach is otherwise ok.
- Naveen
Naveen N Rao (8):
powerpc/ftrace: Fix indentation in ftrace.h
powerpc/ftrace: Unify 32-bit and 64-bit ftrace entry code
powerpc/ftrace: Remove nops after the call to ftrace_stub
powerpc/kprobes: Use ftrace to determine if a probe is at function
entry
powerpc/ftrace: Update and move function profile instructions
out-of-line
powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_CALL_OPS
powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_DIRECT_CALLS
samples/ftrace: Add support for ftrace direct samples on powerpc
Sathvika Vasireddy (1):
powerpc/Kconfig: Select FUNCTION_ALIGNMENT_4B
arch/powerpc/Kconfig | 6 +
arch/powerpc/Makefile | 6 +-
arch/powerpc/include/asm/code-patching.h | 15 +-
arch/powerpc/include/asm/ftrace.h | 35 ++-
arch/powerpc/include/asm/linkage.h | 3 -
arch/powerpc/kernel/asm-offsets.c | 7 +
arch/powerpc/kernel/kprobes.c | 69 +++++-
arch/powerpc/kernel/trace/ftrace.c | 231 ++++++++++++++++----
arch/powerpc/kernel/trace/ftrace_entry.S | 182 +++++++++++----
samples/ftrace/ftrace-direct-modify.c | 94 +++++++-
samples/ftrace/ftrace-direct-multi-modify.c | 110 +++++++++-
samples/ftrace/ftrace-direct-multi.c | 64 +++++-
samples/ftrace/ftrace-direct-too.c | 72 +++++-
samples/ftrace/ftrace-direct.c | 61 +++++-
14 files changed, 845 insertions(+), 110 deletions(-)
base-commit: 9a15ae60f2c9707433b01e55815cd9142be102b2
prerequisite-patch-id: 38d3e705bf2e27cfa5e3ba369a6ded84ba6615c2
prerequisite-patch-id: 609d292e054b2396b603890522a940fa0bdfb6d8
prerequisite-patch-id: 6f7213fb77b1260defbf43be0e47bff9c80054cc
prerequisite-patch-id: f2328625ae2193c3c8e336b154b62030940cece8
--
2.43.0
next reply other threads:[~2023-12-08 16:35 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-08 16:30 Naveen N Rao [this message]
2023-12-08 16:30 ` [RFC PATCH 0/9] powerpc: ftrace updates Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 1/9] powerpc/ftrace: Fix indentation in ftrace.h Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 2/9] powerpc/ftrace: Unify 32-bit and 64-bit ftrace entry code Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 3/9] powerpc/ftrace: Remove nops after the call to ftrace_stub Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 4/9] powerpc/Kconfig: Select FUNCTION_ALIGNMENT_4B Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 5/9] powerpc/kprobes: Use ftrace to determine if a probe is at function entry Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-11 5:39 ` Masami Hiramatsu
2023-12-11 5:39 ` Masami Hiramatsu
2023-12-08 16:30 ` [RFC PATCH 6/9] powerpc/ftrace: Update and move function profile instructions out-of-line Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-21 10:46 ` Christophe Leroy
2023-12-21 10:46 ` Christophe Leroy
2023-12-21 14:25 ` Steven Rostedt
2023-12-21 14:25 ` Steven Rostedt
2023-12-21 15:20 ` Christophe Leroy
2023-12-21 15:20 ` Christophe Leroy
2023-12-22 15:01 ` Naveen N Rao
2023-12-22 15:01 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 7/9] powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_CALL_OPS Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 8/9] powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_DIRECT_CALLS Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-08 16:30 ` [RFC PATCH 9/9] samples/ftrace: Add support for ftrace direct samples on powerpc Naveen N Rao
2023-12-08 16:30 ` Naveen N Rao
2023-12-21 10:38 ` (subset) [RFC PATCH 0/9] powerpc: ftrace updates Michael Ellerman
2023-12-21 10:38 ` Michael Ellerman
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=cover.1702045299.git.naveen@kernel.org \
--to=naveen@kernel.org \
--cc=aneesh.kumar@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mark.rutland@arm.com \
--cc=mhiramat@kernel.org \
--cc=npiggin@gmail.com \
--cc=revest@chromium.org \
--cc=rostedt@goodmis.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.