slub: reduce failure of this_cpu_cmpxchg in put_cpu_partial() after unfreezing
authorJoonsoo Kim <js1304@gmail.com>
Fri, 22 Jun 2012 18:22:38 +0000 (03:22 +0900)
committerPekka Enberg <penberg@kernel.org>
Thu, 16 Aug 2012 07:06:42 +0000 (10:06 +0300)
commite24fc410f58cc7851188a6e996dc6ce5c4259eb4
treeb97cc0b129c34868d1f2a71093e1d889d65b13ec
parent19c7ff9ecd89441096dab6a56f926f7df8ba850a
slub: reduce failure of this_cpu_cmpxchg in put_cpu_partial() after unfreezing

In current implementation, after unfreezing, we doesn't touch oldpage,
so it remain 'NOT NULL'. When we call this_cpu_cmpxchg()
with this old oldpage, this_cpu_cmpxchg() is mostly be failed.

We can change value of oldpage to NULL after unfreezing,
because unfreeze_partial() ensure that all the cpu partial slabs is removed
from cpu partial list. In this time, we could expect that
this_cpu_cmpxchg is mostly succeed.

Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slub.c