Message ID | 20250407180838.42877-4-andybnac@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v4,01/12] riscv: ftrace: support fastcc in Clang for WITH_ARGS | expand |
Hi Andy, kernel test robot noticed the following build warnings: [auto build test WARNING on linus/master] [also build test WARNING on v6.15-rc1 next-20250408] [cannot apply to trace/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Andy-Chiu/riscv-ftrace-factor-out-code-defined-by-WITH_ARG/20250408-025114 base: linus/master patch link: https://lore.kernel.org/r/20250407180838.42877-4-andybnac%40gmail.com patch subject: [PATCH v4 04/12] kernel: ftrace: export ftrace_sync_ipi config: xtensa-randconfig-001-20250409 (https://download.01.org/0day-ci/archive/20250409/202504090657.5fiH4UIS-lkp@intel.com/config) compiler: xtensa-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250409/202504090657.5fiH4UIS-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202504090657.5fiH4UIS-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/trace/ftrace.c:191:6: warning: no previous prototype for 'ftrace_sync_ipi' [-Wmissing-prototypes] 191 | void ftrace_sync_ipi(void *data) | ^~~~~~~~~~~~~~~ vim +/ftrace_sync_ipi +191 kernel/trace/ftrace.c 190 > 191 void ftrace_sync_ipi(void *data) 192 { 193 /* Probably not needed, but do it anyway */ 194 smp_rmb(); 195 } 196
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index fbabc3d848b3..0d4eec574707 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -807,6 +807,7 @@ extern void ftrace_call(void); extern void ftrace_regs_call(void); extern void mcount_call(void); +void ftrace_sync_ipi(void *data); void ftrace_modify_all_code(int command); #ifndef FTRACE_ADDR diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index ee662f380b61..d06bd4a046de 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -188,7 +188,7 @@ static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip, op->saved_func(ip, parent_ip, op, fregs); } -static void ftrace_sync_ipi(void *data) +void ftrace_sync_ipi(void *data) { /* Probably not needed, but do it anyway */ smp_rmb();
The following ftrace patch for riscv uses a data store to update ftrace function. Therefore, a romote fence is required to order it against function_trace_op updates. The mechanism is similar to the fence between function_trace_op and update_ftrace_func in the generic ftrace, so we leverage the same ftrace_sync_ipi function. Signed-off-by: Andy Chiu <andybnac@gmail.com> --- include/linux/ftrace.h | 1 + kernel/trace/ftrace.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)