On Tue, Oct 17, 2023 at 5:57 AM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote: > > On Fri, 2023-10-13 at 16:33 +0100, Alan Maguire wrote: > > Currently, the kernel uses pahole version checking as the way to > > determine which BTF encoding features to request from pahole. This > > means that such features have to be tied to a specific version and > > as new features are added, additional clauses in scripts/pahole-flags.sh > > have to be added; for example > > > > if [ "${pahole_ver}" -ge "125" ]; then > > extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_inconsistent_proto --btf_gen_optimized" > > fi > > > > To better future-proof this process, this series introduces a > > single "btf_features" parameter that uses a comma-separated list > > of encoding options. This is helpful because > > > > - the semantics are simpler for the user; the list comprises the set of > > BTF features asked for, rather than having to specify a combination of > > --skip_encoding_btf_feature and --btf_gen_feature options; and > > - any version of pahole that supports --btf_features can accept the > > option list; unknown options are silently ignored. As a result, there > > would be no need to add additional version clauses beyond > > > > if [ "${pahole_ver}" -ge "126" ]; then > > extra_pahole_opt="-j --lang_exclude=rust > > --btf_features=encode_force,var,float,decl_tag,type_tag,enum64,optimized,consistent" > > fi > > Nitpick, could you please update the line above as below? > > --btf_features_strict=encode_force,var,float,decl_tag,type_tag,enum64,optimized_func,consistent_func We do not want "strict" behavior for the kernel build script. I'd say we will want to use a multi arg variant as it's more composable: --btf_features=encode_force \ --btf_feature=var \ and so on. Either way, this patch set overall looks good to me: Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx>