rhashtable: Use SINGLE_DEPTH_NESTING
authorHerbert Xu <herbert@gondor.apana.org.au>
Sat, 14 Mar 2015 02:57:21 +0000 (13:57 +1100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Mar 2015 05:35:34 +0000 (01:35 -0400)
We only nest one level deep there is no need to roll our own
subclasses.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/rhashtable.c

index f7c76079f8f1eb227ddc84c50ad228352dcfeb98..5d06cc2b1e4a5ea38280a4676b8922e07b8f6e66 100644 (file)
 /* Base bits plus 1 bit for nulls marker */
 #define HASH_RESERVED_SPACE    (RHT_BASE_BITS + 1)
 
-enum {
-       RHT_LOCK_NORMAL,
-       RHT_LOCK_NESTED,
-};
-
 /* The bucket lock is selected based on the hash and protects mutations
  * on a group of hash buckets.
  *
@@ -231,7 +226,7 @@ static int rhashtable_rehash_one(struct rhashtable *ht, unsigned old_hash)
 
        new_bucket_lock = bucket_lock(new_tbl, new_hash);
 
-       spin_lock_nested(new_bucket_lock, RHT_LOCK_NESTED);
+       spin_lock_nested(new_bucket_lock, SINGLE_DEPTH_NESTING);
        head = rht_dereference_bucket(new_tbl->buckets[new_hash],
                                      new_tbl, new_hash);
 
@@ -405,7 +400,7 @@ static bool __rhashtable_insert(struct rhashtable *ht, struct rhash_head *obj,
        tbl = rht_dereference_rcu(ht->future_tbl, ht);
        if (tbl != old_tbl) {
                hash = head_hashfn(ht, tbl, obj);
-               spin_lock_nested(bucket_lock(tbl, hash), RHT_LOCK_NESTED);
+               spin_lock_nested(bucket_lock(tbl, hash), SINGLE_DEPTH_NESTING);
        }
 
        if (compare &&