> -----Original Message----- > From: Song Liu <songliubraving@xxxxxx> > Sent: Tuesday, November 10, 2020 5:05 PM > To: Andrii Nakryiko <andrii@xxxxxxxxxx> > Cc: bpf <bpf@xxxxxxxxxxxxxxx>; Networking <netdev@xxxxxxxxxxxxxxx>; > Starovoitov, Alexei <ast@xxxxxx>; Daniel Borkmann <daniel@xxxxxxxxxxxxx>; > Kernel Team <Kernel-team@xxxxxx>; open list <linux- > kernel@xxxxxxxxxxxxxxx>; rafael@xxxxxxxxxx; jeyu@xxxxxxxxxx; Arnaldo > Carvalho de Melo <acme@xxxxxxxxxx>; Greg Kroah-Hartman > <gregkh@xxxxxxxxxxxxxxxxxxx>; Masahiro Yamada > <yamada.masahiro@xxxxxxxxxxxxx> > Subject: Re: [PATCH v4 bpf-next 3/5] kbuild: build kernel module BTFs if BTF is > enabled and pahole supports it > > > > > On Nov 9, 2020, at 5:19 PM, Andrii Nakryiko <andrii@xxxxxxxxxx> wrote: > > [...] > > > SPLIT BTF > > ========= > > > > $ for f in $(find . -name '*.ko'); do size -A -d $f | grep BTF | awk '{print $2}'; > done | awk '{ s += $1 } END { print s }' > > 5194047 > > > > $ for f in $(find . -name '*.ko'); do printf "%s %d\n" $f $(size -A -d $f | grep > BTF | awk '{print $2}'); done | sort -nr -k2 | head -n10 > > ./drivers/gpu/drm/i915/i915.ko 293206 > > ./drivers/gpu/drm/radeon/radeon.ko 282103 > > ./fs/xfs/xfs.ko 222150 > > ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko 198503 > > ./drivers/infiniband/hw/mlx5/mlx5_ib.ko 198356 > > ./drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko 113444 > > ./fs/cifs/cifs.ko 109379 > > ./arch/x86/kvm/kvm.ko 100225 > > ./drivers/gpu/drm/drm.ko 94827 > > ./drivers/infiniband/core/ib_core.ko 91188 > > > > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > > Acked-by: Song Liu <songliubraving@xxxxxx> This change, commit 5f9ae91f7c0d ("kbuild: Build kernel module BTFs if BTF is enabled and pahole supports it") currently in net-next, linux-next, etc. breaks the use-case of compiling only a specific kernel module (both in-tree and out-of-tree, e.g. 'make M=drivers/net/ethernet/intel/ice') after first doing a 'make modules_prepare'. Previously, that use-case would result in a warning noting "Symbol info of vmlinux is missing. Unresolved symbol check will be entirely skipped" but now it errors out after noting "No rule to make target 'vmlinux', needed by '<...>.ko'. Stop." Is that intentional? Thanks, Bruce.