> -----Original Message-----
> From: Song Liu <[email protected]>
> Sent: Tuesday, November 10, 2020 5:05 PM
> To: Andrii Nakryiko <[email protected]>
> Cc: bpf <[email protected]>; Networking <[email protected]>;
> Starovoitov, Alexei <[email protected]>; Daniel Borkmann <[email protected]>;
> Kernel Team <[email protected]>; open list <linux-
> [email protected]>; [email protected]; [email protected]; Arnaldo
> Carvalho de Melo <[email protected]>; Greg Kroah-Hartman
> <[email protected]>; Masahiro Yamada
> <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
> > Signed-off-by: Andrii Nakryiko <[email protected]>
>
> Acked-by: Song Liu <[email protected]>
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.