On Mon, May 8, 2023 at 9:38 AM Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> wrote: > > Programs that utilize user_events today only get the event payloads via > perf or ftrace when writing event data. When BPF programs are attached > to tracepoints created by user_events the BPF programs do not get run > even though the attach succeeds. This causes confusion by the users of > the programs, as they expect the data to be available via BPF programs > they write. We have several projects that have hit this and requested > BPF program support when publishing data via user_events from their > user processes in production. > > Swap out perf_trace_buf_submit() for perf_trace_run_bpf_submit() to > ensure BPF programs that are attached are run in addition to writing to > perf or ftrace buffers. This requires no changes to the BPF infrastructure > and only utilizes the GPL exported function that modules and other > components may use for the same purpose. This keeps user_events consistent > with how other kernel, modules, and probes expose tracepoint data to allow > attachment of a BPF program. Sorry, I have to keep my Nack here. I see no practical use case for bpf progs to be connected to user events. There must be a different way to solve your user needs and this is not bpf.