[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