Re: [PATCH v3] riscv : select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

From: Conor Dooley
Date: Thu Dec 01 2022 - 13:08:12 EST


On Thu, Dec 01, 2022 at 03:28:10PM +0000, Conor Dooley wrote:
> On Thu, Dec 01, 2022 at 11:13:36PM +0800, Song Shuai wrote:
> > In RISC-V, -fpatchable-function-entry option is used to support
> > dynamic ftrace in this commit afc76b8b8011 ("riscv: Using
> > PATCHABLE_FUNCTION_ENTRY instead of MCOUNT"). So recordmcount
> > don't have to be called to create the __mcount_loc section before
> > the vmlinux linking.
> >
> > Here selects FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to tell
> > Makefile not to run recordmcount.
> >
> > Link_v1: https://lore.kernel.org/linux-riscv/CAAYs2=j3Eak9vU6xbAw0zPuoh00rh8v5C2U3fePkokZFibWs2g@xxxxxxxxxxxxxx/T/#t
> > Link_v2: https://lore.kernel.org/linux-riscv/CAAYs2=iYn8sLQB8oh+RzTKd2VKs8MXOLX6Mwpamx5gdVVN6mkA@xxxxxxxxxxxxxx/T/#m62138d7a76664798d00051818a438a601eff4cf1
>
> Hey Song Shuai,
>
> For future patches, please use normal "Link:" tags. If you're just
> linking to prior versions of the patch, just put them below the ---
> line so they don't end up in the git history.

> > Signed-off-by: Song Shuai <suagrfillet@xxxxxxxxx>
> > Tested-by: Guo Ren <guoren@xxxxxxxxxx>
> > ---
> > arch/riscv/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index 572973103d73..c19cddb8feb9 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -277,6 +277,7 @@ config ARCH_RV64I
> > select 64BIT
> > select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
> > select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && MMU && $(cc-option,-fpatchable-function-entry=8)
> > + select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE

Also, why are these not added in alphabetical order, like the current
list is? I don't see HAVE_DYNAMIC_FTRACE in linux-next from the other
day so that probably needs fixing in the series you are based on too.

> > select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
> > select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> > select HAVE_SAMPLE_FTRACE_DIRECT
> > --
> > 2.20.1
> >