On Mon, Aug 15, 2022 at 07:25:24AM -0700, Alexei Starovoitov wrote: > On Mon, Aug 15, 2022 at 5:37 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > > > On Mon, Aug 15, 2022 at 11:44:32AM +0200, Jiri Olsa wrote: > > > On Mon, Aug 15, 2022 at 10:03:17AM +0200, Peter Zijlstra wrote: > > > > On Sat, Aug 13, 2022 at 03:02:52PM -0400, Steven Rostedt wrote: > > > > > On Fri, 12 Aug 2022 23:18:15 +0200 > > > > > Jiri Olsa <olsajiri@xxxxxxxxx> wrote: > > > > > > > > > > > the patch below moves the bpf function into sepatate object and switches > > > > > > off the -mrecord-mcount for it.. so the function gets profile call > > > > > > generated but it's not visible to ftrace > > > > > > > > Why ?!? > > > > > > there's bpf dispatcher code that updates bpf_dispatcher_xdp_func > > > function with bpf_arch_text_poke and that can race with ftrace update > > > if the function is traced > > > > I thought bpf_arch_text_poke() wasn't allowed to touch kernel code and > > ftrace is in full control of it ? > > ftrace is not in "full control" of nop5 and must not be. It is in full control of the 'call __fentry__'. Absolute full NAK on you trying to make it otherwise. > Soon we will have nop5 in the middle of the function. > ftrace must not touch it. How are you generating that NOP and what for?