Closed bueryg closed 5 years ago
Under my header file is, hash_for_each_possible_rcu(name, obj, member, key) I think you could find header related information through https://elixir.bootlin.com/linux/v3.11.1/source/include/linux/hashtable.h#L172 I quote 3.11.1 since LITE used 3.11.1. But you could also find the same definition in the later kernel versions https://elixir.bootlin.com/linux/v4.17-rc1/source/include/linux/hashtable.h#L176 This website provides different kernel versions' source code. Hope this helps.
when I look into the source code , I am confused about the parameter of hash_for_each_possible_rcu in function client_add_askmr_table, there is one line code like this: hash_for_each_possible_rcu ( ADD_ASKMR_TABLE_HASHTABLE , current_hash_ptr, hlist , bucket) there are 4 parameters the definition of hash_for_each_possible_rcu is:
define hash_for_each_possible_rcu(name, obj, node, member, key) \
there are 5 parameters and the definition of hlist_for_each_entry_rcu is:
define hlist_for_each_entry_rcu(pos, head, member) \
there are only 3 parameters