On Wed, Feb 08, 2023 at 01:50:27PM -0300, Arnaldo Carvalho de Melo wrote: > Em Wed, Feb 08, 2023 at 01:20:39PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Tue, Feb 07, 2023 at 05:14:54PM +0000, Alan Maguire escreveu: > > > At optimization level -O2 or higher in gcc, static functions may be > > > optimized such that they have suffixes like .isra.0, .constprop.0 etc. > > > These represent > > > > > > - constant propagation (.constprop.0); > > > - interprocedural scalar replacement of aggregates, removal of > > > unused parameters and replacement of parameters passed by > > > reference by parameters passed by value (.isra.0) > > > > Initial test, without using the new options: > > > > [acme@pumpkin ~]$ pfunct /sys/kernel/btf/vmlinux | sort | uniq -c | sort -n | tail > > 3 start_show > > 3 timeout_show > > 3 uuid_show > > 4 m_next > > 4 parse_options > > 4 sk_diag_fill > > 4 state_show > > 4 state_store > > 5 status_show > > 6 type_show > > [acme@pumpkin ~]$ > > > > Now I'll use --skip_encoding_btf_inconsistent_proto and --btf_gen_optimized > > With: > > ⬢[acme@toolbox linux]$ git diff > diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh > index 1f1f1d397c399afe..9dd185fb1ff1fc3b 100755 > --- a/scripts/pahole-flags.sh > +++ b/scripts/pahole-flags.sh > @@ -21,7 +21,7 @@ if [ "${pahole_ver}" -ge "122" ]; then > fi > if [ "${pahole_ver}" -ge "124" ]; then > # see PAHOLE_HAS_LANG_EXCLUDE > - extra_paholeopt="${extra_paholeopt} --lang_exclude=rust" > + extra_paholeopt="${extra_paholeopt} --lang_exclude=rust --btf_gen_optimized --skip_encoding_btf_inconsistent_proto" > fi > > echo ${extra_paholeopt} > ⬢[acme@toolbox linux]$ > > I get: > > [acme@pumpkin ~]$ pfunct /sys/kernel/btf/vmlinux | sort | uniq -c | sort -n | tail > 1 zswap_writeback_entry > 1 zswap_zpool_param_set > 1 zs_zpool_create > 1 zs_zpool_destroy > 1 zs_zpool_free > 1 zs_zpool_malloc > 1 zs_zpool_map > 1 zs_zpool_shrink > 1 zs_zpool_total_size > 1 zs_zpool_unmap > [acme@pumpkin ~]$ > > No functions with more than one entry: > > [acme@pumpkin ~]$ pfunct /sys/kernel/btf/vmlinux | sort | uniq -c | sort -n | grep -v ' 1 ' > [acme@pumpkin ~]$ pfunct /sys/kernel/btf/vmlinux | sort | uniq -c | sort -n | grep ' 1 ' | wc -l > 54558 > [acme@pumpkin ~]$ pfunct /sys/kernel/btf/vmlinux | wc -l > 54558 > [acme@pumpkin ~]$ > > So I'll bump the release as we did in the past when testing features > that we need to test against a release on the pahole-flags.sh script so > that we can do further tests. I did similar test and ran bpf selftests built with new pahole, all looks good Acked/Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> thanks, jirka