Re: [PATCH 4/8] ftrace: Add DYNAMIC_FTRACE_WITH_CALL_OPS

From: Li Huafei
Date: Thu Jan 12 2023 - 20:15:28 EST




On 2023/1/12 19:00, Mark Rutland wrote:
> On Thu, Jan 12, 2023 at 02:48:45PM +0800, Li Huafei wrote:
>> On 2023/1/9 21:58, Mark Rutland wrote:
>>
>>> diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
>>> index 99f1146614c04..5eeb2776124c5 100644
>>> --- a/include/linux/ftrace.h
>>> +++ b/include/linux/ftrace.h
>>> @@ -57,6 +57,9 @@ void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip);
>>> void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
>>> struct ftrace_ops *op, struct ftrace_regs *fregs);
>>> #endif
>>> +extern const struct ftrace_ops ftrace_nop_ops;
>>> +extern const struct ftrace_ops ftrace_list_ops;
>>> +struct ftrace_ops *ftrace_find_unique_ops(struct dyn_ftrace *rec);
>>
>> Hi Mark,
>
> Hi Huafei,
>
> Thanks for the reporrt.
>
>> This patch has build issues on x86:
>>
>> CC mm/readahead.o
>> In file included from include/linux/perf_event.h:52:0,
>> from arch/x86/events/amd/lbr.c:2:
>> include/linux/ftrace.h:62:50: error: ‘struct dyn_ftrace’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
>> struct ftrace_ops *ftrace_find_unique_ops(struct dyn_ftrace *rec);
>>
>> Here we should need 'struct dyn_ftrace' forward declaration.
>
> The build robot spotted this a couple of days ago (from my branch rather than
> the list), and I fixed it there a couple of days ago. The relevant messages were:
>
> https://lore.kernel.org/oe-kbuild-all/202301100944.E0mV3kSO-lkp@xxxxxxxxx/
> https://lore.kernel.org/oe-kbuild-all/Y72TJ3qQuvx3gIOi@FVFF77S0Q05N/#t
>
> ... and the updated commit is at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?h=arm64/ftrace/per-callsite-ops&id=acab29d6ea2f20d8d156cdd301ad9790bd1d888f
>

Okay, you've fixed it. Thanks for pointing out.

>
> ... I'll post a v2 with that folded in once this has had a bit more time to gather comments.
>
> Thanks,
> Mark.
>
> .
>