[ltt-dev] [PATCH 0/7] rculfhash: More proper APIs and struct cds_lfht_node
Lai Jiangshan
laijs at cn.fujitsu.com
Wed Nov 2 03:50:43 EDT 2011
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
More information about the lttng-dev
mailing list