On 7/1/25 19:46, Alexei Starovoitov wrote: > On Mon, Jun 30, 2025 at 6:35 AM Viktor Malik <vmalik@xxxxxxxxxx> wrote: >> >> BPF selftests compilation fails on systems with CONFIG_NET_SCH_BPF=n. >> The reason is that qdisc-related kfuncs are included via vmlinux.h but >> when qdisc is disabled, they are not defined and do not appear in >> vmlinux.h. > > Yes and that's expected behavior. It's not a bug. > That's why we have CONFIG_NET_SCH_BPF=y in > selftests/bpf/config > and CI picks it up automatically. > > If we add these kfuncs to bpf_qdisc_common.h where would we > draw the line when the kfuncs should be added or not ? I'd say that we should add kfuncs which are only included in vmlinux.h under certain configurations. Obviously stuff like CONFIG_BPF=y can be presumed but there're tons of configs options which may be disabled on a system and it still makes sense to compile and run at least a part of test_progs on them. > Currently we don't add any new kfuncs, since they all > should be in vmlinux.h This way, we're preventing people to build and therefore run *any* test_progs on systems which do not have all the configs required in selftests/bpf/config. Running selftests on such systems may reveal bugs not captured by the CI so I think that it may be eventually beneficial for everyone. WDYT? > > -- > pw-bot: cr >