Em Mon, Mar 08, 2021 at 02:37:32PM +0100, Daniel Borkmann escreveu: > On 3/7/21 11:30 PM, Ian Rogers wrote: > > This adds definitions available in the uapi version. > > > > Explanation: > > In the kernel include of types.h the uapi version is included. > > In tools the uapi/linux/types.h and linux/types.h are distinct. > > For BPF programs a definition of __wsum is needed by the generated > > bpf_helpers.h. The definition comes either from a generated vmlinux.h or > > from <linux/types.h> that may be transitively included from bpf.h. The > > perf build prefers linux/types.h over uapi/linux/types.h for > > <linux/types.h>*. To allow tools/perf/util/bpf_skel/bpf_prog_profiler.bpf.c > > to compile with the same include path used for perf then these > > definitions are necessary. > > > > There is likely a wider conversation about exactly how types.h should be > > specified and the include order used by the perf build - it is somewhat > > confusing that tools/include/uapi/linux/bpf.h is using the non-uapi > > types.h. > > > > *see tools/perf/Makefile.config: > > ... > > INC_FLAGS += -I$(srctree)/tools/include/ > > INC_FLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi > > INC_FLAGS += -I$(srctree)/tools/include/uapi > > ... > > The include directories are scanned from left-to-right: > > https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html > > As tools/include/linux/types.h appears before > > tools/include/uapi/linux/types.h then I say it is preferred. > > > > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> > > Given more related to perf build infra, I presume Arnaldo would pick > this one up? I'll process it. - Arnaldo