Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [ltt-dev] [PATCH 0/7] rculfhash: More proper APIs and struct cds_lfht_node
@ 2011-11-02  7:50 Lai Jiangshan
  2011-11-02  7:50 ` [ltt-dev] [PATCH 1/7] rculfhash, test: wrap " Lai Jiangshan
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Lai Jiangshan @ 2011-11-02  7:50 UTC (permalink / raw)


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




^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2011-11-05 14:07 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-02  7:50 [ltt-dev] [PATCH 0/7] rculfhash: More proper APIs and struct cds_lfht_node Lai Jiangshan
2011-11-02  7:50 ` [ltt-dev] [PATCH 1/7] rculfhash, test: wrap " Lai Jiangshan
2011-11-02 17:16   ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 2/7] rculfhash: Move "struct rcu_head head" out of "struct cds_lfht_node" Lai Jiangshan
2011-11-02 17:18   ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 3/7] rculfhash: make cds_lfht_lookup() more generic Lai Jiangshan
2011-11-02 17:23   ` Mathieu Desnoyers
2011-11-03 14:07     ` Lai Jiangshan
2011-11-04 10:08       ` Mathieu Desnoyers
2011-11-04 13:15         ` Lai Jiangshan
2011-11-04 13:53           ` Mathieu Desnoyers
2011-11-04 15:01             ` Lai Jiangshan
2011-11-05 13:08               ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 4/7] rculfhash: Comparision API use node pointer instead of key Lai Jiangshan
2011-11-05 13:10   ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 5/7] rculfhash: Pass hash value to cds_lfht_add* APIs Lai Jiangshan
2011-11-05 13:10   ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 6/7] rculfhash: Move key out of struct lfht_test_node Lai Jiangshan
2011-11-05 13:12   ` Mathieu Desnoyers
2011-11-05 13:42   ` Mathieu Desnoyers
2011-11-05 13:52   ` Mathieu Desnoyers
2011-11-02  7:50 ` [ltt-dev] [PATCH 7/7] rculfhash: cleanup struct _cds_lfht_node Lai Jiangshan
2011-11-04  7:47   ` [ltt-dev] [PATCH 1/2] rculfhash: rename dummy to bucket Lai Jiangshan
2011-11-04  7:47     ` [ltt-dev] [PATCH 2/2] rculfhash: simplify BUCKET_FLAG tracking Lai Jiangshan
2011-11-05 14:07       ` Mathieu Desnoyers
2011-11-05 13:54     ` [ltt-dev] [PATCH 1/2] rculfhash: rename dummy to bucket Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox