]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
riscv: Stop supporting static ftrace
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Wed, 16 Jul 2025 12:05:16 +0000 (12:05 +0000)
committerPalmer Dabbelt <palmer@dabbelt.com>
Wed, 16 Jul 2025 16:07:24 +0000 (09:07 -0700)
Now that DYNAMIC_FTRACE was introduced, there is no need to support
static ftrace as it is way less performant. This simplifies the code and
prevents build failures as reported by kernel test robot when
!DYNAMIC_FTRACE.

Also make sure that FUNCTION_TRACER can only be selected if
DYNAMIC_FTRACE is supported (we have a dependency on the toolchain).

Co-developed-by: chenmiao <chenmiao.ku@gmail.com>
Signed-off-by: chenmiao <chenmiao.ku@gmail.com>
Fixes: b2137c3b6d7a ("riscv: ftrace: prepare ftrace for atomic code patching")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506191949.o3SMu8Zn-lkp@intel.com/
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20250716-dev-alex-static_ftrace-v1-1-ba5d2b6fc9c0@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
arch/riscv/Kconfig

index d71ea0f4466fc3eefd1bd89f37637193d9a464da..1c5544401530fed9ecade4dd11c1c33a0bd6a2da 100644 (file)
@@ -98,6 +98,7 @@ config RISCV
        select CLONE_BACKWARDS
        select COMMON_CLK
        select CPU_PM if CPU_IDLE || HIBERNATION || SUSPEND
+       select DYNAMIC_FTRACE if FUNCTION_TRACER
        select EDAC_SUPPORT
        select FRAME_POINTER if PERF_EVENTS || (FUNCTION_TRACER && !DYNAMIC_FTRACE)
        select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
@@ -162,7 +163,7 @@ config RISCV
        select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
        select HAVE_FUNCTION_GRAPH_TRACER if HAVE_DYNAMIC_FTRACE_WITH_ARGS
        select HAVE_FUNCTION_GRAPH_FREGS
-       select HAVE_FUNCTION_TRACER if !XIP_KERNEL
+       select HAVE_FUNCTION_TRACER if !XIP_KERNEL && HAVE_DYNAMIC_FTRACE
        select HAVE_EBPF_JIT if MMU
        select HAVE_GUP_FAST if MMU
        select HAVE_FUNCTION_ARG_ACCESS_API