[PATCH] riscv: ftrace: select HAVE_BUILDTIME_MCOUNT_SORT
Guo Ren
guoren at kernel.org
Fri Apr 10 02:17:18 PDT 2026
Hi Chen,
Cool, we missed that. Good catch!
Tested-by: Guo Ren <guoren at kernel.org>
On Thu, Apr 9, 2026 at 7:48 PM <cp0613 at linux.alibaba.com> wrote:
>
> From: Chen Pei <cp0613 at 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 at 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
More information about the linux-riscv
mailing list