slab: replace smp_read_barrier_depends() with lockless_dereference()

Recently lockless_dereference() was added which can be used in place of
hard-coding smp_read_barrier_depends().  The following PATCH makes the
change.

Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Pranith Kumar 2014-12-10 15:42:28 -08:00 committed by Linus Torvalds
parent c871ac4e96
commit 8df0c2dcf6

View File

@ -209,15 +209,15 @@ cache_from_memcg_idx(struct kmem_cache *s, int idx)
rcu_read_lock(); rcu_read_lock();
params = rcu_dereference(s->memcg_params); params = rcu_dereference(s->memcg_params);
cachep = params->memcg_caches[idx];
rcu_read_unlock();
/* /*
* Make sure we will access the up-to-date value. The code updating * Make sure we will access the up-to-date value. The code updating
* memcg_caches issues a write barrier to match this (see * memcg_caches issues a write barrier to match this (see
* memcg_register_cache()). * memcg_register_cache()).
*/ */
smp_read_barrier_depends(); cachep = lockless_dereference(params->memcg_caches[idx]);
rcu_read_unlock();
return cachep; return cachep;
} }