diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-03-24 00:50:26 +1100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-23 22:07:52 -0400 |
commit | b824478b2145be78ac19e1cf44e2b9036c7a9608 (patch) | |
tree | 19c7d4ad479fd987eef5fd9b6063df27fd26012a /lib/test_rhashtable.c | |
parent | 18093d1c0d1e032142ee24825678b0a8977d74ba (diff) | |
download | op-kernel-dev-b824478b2145be78ac19e1cf44e2b9036c7a9608.zip op-kernel-dev-b824478b2145be78ac19e1cf44e2b9036c7a9608.tar.gz |
rhashtable: Add multiple rehash support
This patch adds the missing bits to allow multiple rehashes. The
read-side as well as remove already handle this correctly. So it's
only the rehasher and insertion that need modification to handle
this.
Note that this patch doesn't actually enable it so for now rehashing
is still only performed by the worker thread.
This patch also disables the explicit expand/shrink interface because
the table is meant to expand and shrink automatically, and continuing
to export these interfaces unnecessarily complicates the life of the
rehasher since the rehash process is now composed of two parts.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/test_rhashtable.c')
-rw-r--r-- | lib/test_rhashtable.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c index a2ba6ad..a42a0d4 100644 --- a/lib/test_rhashtable.c +++ b/lib/test_rhashtable.c @@ -155,30 +155,6 @@ static int __init test_rhashtable(struct rhashtable *ht) test_rht_lookup(ht); rcu_read_unlock(); - for (i = 0; i < TEST_NEXPANDS; i++) { - pr_info(" Table expansion iteration %u...\n", i); - mutex_lock(&ht->mutex); - rhashtable_expand(ht); - mutex_unlock(&ht->mutex); - - rcu_read_lock(); - pr_info(" Verifying lookups...\n"); - test_rht_lookup(ht); - rcu_read_unlock(); - } - - for (i = 0; i < TEST_NEXPANDS; i++) { - pr_info(" Table shrinkage iteration %u...\n", i); - mutex_lock(&ht->mutex); - rhashtable_shrink(ht); - mutex_unlock(&ht->mutex); - - rcu_read_lock(); - pr_info(" Verifying lookups...\n"); - test_rht_lookup(ht); - rcu_read_unlock(); - } - rcu_read_lock(); test_bucket_stats(ht, true); rcu_read_unlock(); |