On Fri, Sep 22, 2023 at 4:44 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote: > > The BTF func proto for a tracepoint has one more argument than the > actual tracepoint function since it has a context argument at the > begining. So it should compare to 5 when the tracepoint has 4 > arguments. > > typedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int); > > Also, recent change in the perf tool would use a hand-written minimal > vmlinux.h to generate BTF in the skeleton. So it won't have the info > of the tracepoint. Anyway it should use the kernel's vmlinux BTF to > check the type in the kernel. > > Fixes: b36888f71c85 ("perf record: Handle argument change in sched_switch") > Cc: Song Liu <song@xxxxxxxxxx> > Cc: Hao Luo <haoluo@xxxxxxxxxx> > CC: bpf@xxxxxxxxxxxxxxx > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Song Liu <song@xxxxxxxxxx>