arch/riscv/Kconfig | 1 + 1 file changed, 1 insertion(+)
From: Chen Pei <cp0613@linux.alibaba.com>
RISC-V already satisfies all prerequisites for build-time mcount sorting:
the sorttable host tool handles EM_RISCV in its machine-type dispatch, and
the __mcount_loc section entries are stored as direct virtual addresses in
the final vmlinux binary, so no relocation processing is required during
the sort step.
Select HAVE_BUILDTIME_MCOUNT_SORT so that BUILDTIME_MCOUNT_SORT is
automatically enabled when DYNAMIC_FTRACE is configured. This allows
sorttable to sort the __mcount_loc section at link time, making the
run-time ftrace initialisation path skip the software sort and reducing
kernel startup overhead.
Verified with CONFIG_FTRACE_SORT_STARTUP_TEST=y, which confirms that
the section produced by the build is already in ascending order:
[ 0.000000] ftrace section at ffffffff81015a60 sorted properly
Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
---
arch/riscv/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 90c531e6abf5..6fe90591a274 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -151,6 +151,7 @@ config RISCV
select HAVE_ARCH_USERFAULTFD_WP if 64BIT && MMU && USERFAULTFD && RISCV_ISA_SVRSW60T59B
select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
select HAVE_ASM_MODVERSIONS
+ select HAVE_BUILDTIME_MCOUNT_SORT
select HAVE_CONTEXT_TRACKING_USER
select HAVE_DEBUG_KMEMLEAK
select HAVE_DMA_CONTIGUOUS if MMU
--
2.50.1
Hi Chen, Cool, we missed that. Good catch! Tested-by: Guo Ren <guoren@kernel.org> On Thu, Apr 9, 2026 at 7:48 PM <cp0613@linux.alibaba.com> wrote: > > From: Chen Pei <cp0613@linux.alibaba.com> > > RISC-V already satisfies all prerequisites for build-time mcount sorting: > the sorttable host tool handles EM_RISCV in its machine-type dispatch, and > the __mcount_loc section entries are stored as direct virtual addresses in > the final vmlinux binary, so no relocation processing is required during > the sort step. > > Select HAVE_BUILDTIME_MCOUNT_SORT so that BUILDTIME_MCOUNT_SORT is > automatically enabled when DYNAMIC_FTRACE is configured. This allows > sorttable to sort the __mcount_loc section at link time, making the > run-time ftrace initialisation path skip the software sort and reducing > kernel startup overhead. > > Verified with CONFIG_FTRACE_SORT_STARTUP_TEST=y, which confirms that > the section produced by the build is already in ascending order: > > [ 0.000000] ftrace section at ffffffff81015a60 sorted properly > > Signed-off-by: Chen Pei <cp0613@linux.alibaba.com> > --- > arch/riscv/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index 90c531e6abf5..6fe90591a274 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -151,6 +151,7 @@ config RISCV > select HAVE_ARCH_USERFAULTFD_WP if 64BIT && MMU && USERFAULTFD && RISCV_ISA_SVRSW60T59B > select HAVE_ARCH_VMAP_STACK if MMU && 64BIT > select HAVE_ASM_MODVERSIONS > + select HAVE_BUILDTIME_MCOUNT_SORT > select HAVE_CONTEXT_TRACKING_USER > select HAVE_DEBUG_KMEMLEAK > select HAVE_DMA_CONTIGUOUS if MMU > -- > 2.50.1 > -- Best Regards Guo Ren
© 2016 - 2026 Red Hat, Inc.