On 06/02/2024 12:47, Jiri Olsa wrote: > On Sun, Feb 04, 2024 at 11:40:37AM -0700, Daniel Xu wrote: >> Add a feature flag to guard tagging of kfuncs. The next commit will >> implement the actual tagging. >> >> Signed-off-by: Daniel Xu <dxu@xxxxxxxxx> Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx> Thanks for adding this! >> --- >> btf_encoder.c | 2 ++ >> dwarves.h | 1 + >> pahole.c | 1 + >> 3 files changed, 4 insertions(+) > > we should update man page as well > > also we need to update the kernel's scripts/Makefile.btf with > the new option for the next pahole version (1.26 I guess) > Yep, something like this added to scripts/Makefile.btf should do it: pahole-flags-$(call test-ge, $(pahole-ver), 126) = -j --lang_exclude=rust --btf_features=encode_force,var,float,decl_tag,type_tag,enum64,optimized_func,consistent_func,tag_kfuncs This should hopefully be the last version check we need - we can just add features to the list as required, and pahole will apply the ones it knows about. Thanks! Alan > jirka > >> >> diff --git a/btf_encoder.c b/btf_encoder.c >> index fd04008..e325f66 100644 >> --- a/btf_encoder.c >> +++ b/btf_encoder.c >> @@ -77,6 +77,7 @@ struct btf_encoder { >> verbose, >> force, >> gen_floats, >> + tag_kfuncs, >> is_rel; >> uint32_t array_index_id; >> struct { >> @@ -1642,6 +1643,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, const char *detached_filenam >> encoder->force = conf_load->btf_encode_force; >> encoder->gen_floats = conf_load->btf_gen_floats; >> encoder->skip_encoding_vars = conf_load->skip_encoding_btf_vars; >> + encoder->tag_kfuncs = conf_load->btf_decl_tag_kfuncs; >> encoder->verbose = verbose; >> encoder->has_index_type = false; >> encoder->need_index_type = false; >> diff --git a/dwarves.h b/dwarves.h >> index 857b37c..996eb70 100644 >> --- a/dwarves.h >> +++ b/dwarves.h >> @@ -87,6 +87,7 @@ struct conf_load { >> bool skip_encoding_btf_vars; >> bool btf_gen_floats; >> bool btf_encode_force; >> + bool btf_decl_tag_kfuncs; >> uint8_t hashtable_bits; >> uint8_t max_hashtable_bits; >> uint16_t kabi_prefix_len; >> diff --git a/pahole.c b/pahole.c >> index 768a2fe..48c19b7 100644 >> --- a/pahole.c >> +++ b/pahole.c >> @@ -1278,6 +1278,7 @@ struct btf_feature { >> BTF_FEATURE(enum64, skip_encoding_btf_enum64, true), >> BTF_FEATURE(optimized_func, btf_gen_optimized, false), >> BTF_FEATURE(consistent_func, skip_encoding_btf_inconsistent_proto, false), >> + BTF_FEATURE(decl_tag_kfuncs, btf_decl_tag_kfuncs, false), >> }; >> >> #define BTF_MAX_FEATURE_STR 1024 >> -- >> 2.42.1 >>