2022-09-23 11:06:02

by Song Shuai

[permalink] [raw]
Subject: [PATCH RESEND] riscv : select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

riscv now uses -fpatchable-function-entry with dynamic ftrace after
the `afc76b8b8` commit, which means recordmcount shouldn't be called
to create the __mcount_loc section before the vmlinux linking.

We should select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to tell
Makefile not to run recordmcount.

Signed-off-by: Song Shuai <[email protected]>
---
arch/riscv/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index c22f58155948..25db8cea876a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -246,6 +246,7 @@ config ARCH_RV64I
select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && MMU && $(cc-option,-fpatchable-function-entry=8)
select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
+ select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
select SWIOTLB if MMU
--
2.20.1


2022-11-22 10:44:19

by Song Shuai

[permalink] [raw]
Subject: Re: [PATCH RESEND] riscv : select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

Song Shuai <[email protected]> 于2022年9月23日周五 10:03写道:
>
> riscv now uses -fpatchable-function-entry with dynamic ftrace after
> the `afc76b8b8` commit, which means recordmcount shouldn't be called
> to create the __mcount_loc section before the vmlinux linking.
>
> We should select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to tell
> Makefile not to run recordmcount.
>
Hi,Guo:

Can this patch squeeze into your v3 series ?

Thanks,
Song
> Signed-off-by: Song Shuai <[email protected]>
> ---
> arch/riscv/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index c22f58155948..25db8cea876a 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -246,6 +246,7 @@ config ARCH_RV64I
> select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && MMU && $(cc-option,-fpatchable-function-entry=8)
> select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
> select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
> + select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
> select HAVE_FUNCTION_GRAPH_TRACER
> select HAVE_FUNCTION_TRACER if !XIP_KERNEL
> select SWIOTLB if MMU
> --
> 2.20.1
>

2022-11-28 14:41:53

by Song Shuai

[permalink] [raw]
Subject: Re: [PATCH RESEND] riscv : select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

Guo Ren <[email protected]> 于2022年11月28日周一 21:47写道:
>
> On Tue, Nov 22, 2022 at 6:11 PM Song Shuai <[email protected]> wrote:
> >
> > Song Shuai <[email protected]> 于2022年9月23日周五 10:03写道:
> > >
> > > riscv now uses -fpatchable-function-entry with dynamic ftrace after
> > > the `afc76b8b8` commit, which means recordmcount shouldn't be called
> The ref commit format needs to be corrected. Others:
> Tested-by: Guo Ren <[email protected]>
>
Thanks for your test.
I'll correct this ref in the next version.
> > > to create the __mcount_loc section before the vmlinux linking.
> > >
> > > We should select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to tell
> > > Makefile not to run recordmcount.
> > >
> > Hi,Guo:
> >
> > Can this patch squeeze into your v3 series ?
> They don't have a dependency, and it's unnecessary. A single patch is
> easy for the maintainer to pick up.
>
Got it.
> >
> > Thanks,
> > Song
> > > Signed-off-by: Song Shuai <[email protected]>
> > > ---
> > > arch/riscv/Kconfig | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > > index c22f58155948..25db8cea876a 100644
> > > --- a/arch/riscv/Kconfig
> > > +++ b/arch/riscv/Kconfig
> > > @@ -246,6 +246,7 @@ config ARCH_RV64I
> > > select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && MMU && $(cc-option,-fpatchable-function-entry=8)
> > > select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
> > > select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
> > > + select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
> > > select HAVE_FUNCTION_GRAPH_TRACER
> > > select HAVE_FUNCTION_TRACER if !XIP_KERNEL
> > > select SWIOTLB if MMU
> > > --
> > > 2.20.1
> > >
>
>
>
> --
> Best Regards
> Guo Ren



--
Thanks,
Song

2022-11-28 14:57:23

by Guo Ren

[permalink] [raw]
Subject: Re: [PATCH RESEND] riscv : select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

On Tue, Nov 22, 2022 at 6:11 PM Song Shuai <[email protected]> wrote:
>
> Song Shuai <[email protected]> 于2022年9月23日周五 10:03写道:
> >
> > riscv now uses -fpatchable-function-entry with dynamic ftrace after
> > the `afc76b8b8` commit, which means recordmcount shouldn't be called
The ref commit format needs to be corrected. Others:
Tested-by: Guo Ren <[email protected]>

> > to create the __mcount_loc section before the vmlinux linking.
> >
> > We should select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to tell
> > Makefile not to run recordmcount.
> >
> Hi,Guo:
>
> Can this patch squeeze into your v3 series ?
They don't have a dependency, and it's unnecessary. A single patch is
easy for the maintainer to pick up.

>
> Thanks,
> Song
> > Signed-off-by: Song Shuai <[email protected]>
> > ---
> > arch/riscv/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index c22f58155948..25db8cea876a 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -246,6 +246,7 @@ config ARCH_RV64I
> > select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && MMU && $(cc-option,-fpatchable-function-entry=8)
> > select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
> > select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
> > + select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
> > select HAVE_FUNCTION_GRAPH_TRACER
> > select HAVE_FUNCTION_TRACER if !XIP_KERNEL
> > select SWIOTLB if MMU
> > --
> > 2.20.1
> >



--
Best Regards
Guo Ren