This series patches change the lfht APIs and simplify struct cds_lfht_node. struct cds_lfht_node only contains the field of the original fields of struct _cds_lfht_node now.
It makes struct cds_lfht_node only contains basic fields. All other things(key, key-value, hash-calculation, allocation, deallocation) are become user's responsibility. It make cds_lfht act as a sanity hash table, not an incomplete hash_set nor hash_map. The structure which embeds struct cds_lfht_node must takes the responsibility to manage the key (or key-value pair) of the object and calculate the hash value for cds_lfht APIs. These patches are important preparation for merge it to kernel. They are preparation for me to develop rculfhash testing which I just decided to rework earlier) Lai Jiangshan (7): wrap struct cds_lfht_node Move "struct rcu_head head" out of "struct cds_lfht_node" make cds_lfht_lookup() generic Compare API use node pointer instead of key Pass hash value to add APIs Move key out of struct lfht_test_node cleanup struct _cds_lfht_node rculfhash.c | 178 +++++++++++++++++++++--------------------------- tests/test_urcu_hash.c | 143 +++++++++++++++++++++++++++++++-------- urcu/rculfhash.h | 76 ++++++-------------- 3 files changed, 215 insertions(+), 182 deletions(-) -- 1.7.4.4 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
