On Mon, 15 Aug 2022 at 14:19, Björn Töpel <bjorn@xxxxxxxxxx> wrote: > > On Mon, 15 Aug 2022 at 13:29, Jiri Olsa <olsajiri@xxxxxxxxx> wrote: > > > > On Mon, Aug 15, 2022 at 01:01:06PM +0200, Björn Töpel wrote: > > > On Mon, 15 Aug 2022 at 10:04, Jiri Olsa <olsajiri@xxxxxxxxx> wrote: > > > [...] > > > > > > > > > > > > > > Today, objtool has also got involved, and added an "--mcount" option > > > > > > > that will create the section too. > > > > > > I overlooked that objtool is involved as well, > > > > > > will check on that > > > > > > > > > > objtool --mcount option only involves mcount_loc generation (see > > > > > annotate_call_site) and other validation check call destination directly > > > > > (see is_fentry_call). > > > > > > > > > > Some simply removing --mcount option dose work for this. > > > > > > > > > > > > > > > Another question, it seems we can export and use DEFINE_BPF_DISPATCHER out > > > > > of kernel, does that means we should add NO_MCOUNT_FILES for these single > > > > > uages as well? > > > > > > > > yes, cc-ing Björn to make sure it's valid use case for dispatcher > > > > > > > > > > Hmm, could you expand a bit on how this would work? > > > > the goal here is to remove bpf_dispatcher_<FUNC>_func functions from > > ftrace, because it's updated by dispatcher code with bpf_arch_text_poke, > > but it's also visible and attachable to ftrace.. and will cause problems > > when these 2 updates will race > > > > question was if DEFINE_BPF_DISPATCHER can be used in kernel module, > > which would bring another realm of problems ;-) > > > > Oh, now I follow. AFAIK there is only one flavor of BPF dispatcher in > use, and that's the XDP dispatcher, which does not reside in module > code, but is typically *called* by module code. > Some history why the EXPORT is required: https://lore.kernel.org/bpf/CAADnVQ+eD-=FZrg8L+YcdCyAS+E30W=Z-ShtEXAXVFjmxV4usg@xxxxxxxxxxxxxx/