rhashtable: Remove unnecessary wmb for future_tbl
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 8 Dec 2015 09:09:04 +0000 (17:09 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Dec 2015 03:46:32 +0000 (22:46 -0500)
The patch 9497df88ab5567daa001829051c5f87161a81ff0 ("rhashtable:
Fix reader/rehash race") added a pair of barriers.  In fact the
wmb is superfluous because every subsequent write to the old or
new hash table uses rcu_assign_pointer, which itself carriers a
full barrier prior to the assignment.

Therefore we may remove the explicit wmb.

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>
lib/rhashtable.c

index a54ff8949f9116184631414086a9fa2d956c8031..0f3be3fad2b2b7694e1eccd7f22b348ed149f320 100644 (file)
@@ -231,9 +231,6 @@ static int rhashtable_rehash_attach(struct rhashtable *ht,
         */
        rcu_assign_pointer(old_tbl->future_tbl, new_tbl);
 
-       /* Ensure the new table is visible to readers. */
-       smp_wmb();
-
        spin_unlock_bh(old_tbl->locks);
 
        return 0;