On Sun Jul 14, 2024 at 6:27 PM AEST, Naveen N Rao wrote: > We are restricted to a .text size of ~32MB when using out-of-line > function profile sequence. Allow this to be extended up to the previous > limit of ~64MB by reserving space in the middle of .text. > > A new config option CONFIG_PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE is > introduced to specify the number of function stubs that are reserved in > .text. On boot, ftrace utilizes stubs from this area first before using > the stub area at the end of .text. [snip] > diff --git a/arch/powerpc/kernel/trace/ftrace_entry.S b/arch/powerpc/kernel/trace/ftrace_entry.S > index 71f6a63cd861..86dbaa87532a 100644 > --- a/arch/powerpc/kernel/trace/ftrace_entry.S > +++ b/arch/powerpc/kernel/trace/ftrace_entry.S > @@ -374,6 +374,14 @@ _GLOBAL(return_to_handler) > blr > #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ > > +#ifdef CONFIG_PPC_FTRACE_OUT_OF_LINE > +SYM_DATA(ftrace_ool_stub_text_count, .long CONFIG_PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE) > + > +SYM_CODE_START(ftrace_ool_stub_text) > + .space CONFIG_PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE * FTRACE_OOL_STUB_SIZE > +SYM_CODE_END(ftrace_ool_stub_text) > +#endif > + > .pushsection ".tramp.ftrace.text","aw",@progbits; > .globl ftrace_tramp_text > ftrace_tramp_text: How are you ensuring these new stubs get to the middle of kernel text? I guess you just put it in regular .text and hope the linker puts it in a good place? Thanks, Nick