summaryrefslogtreecommitdiff
path: root/kernel/notifier.c
diff options
context:
space:
mode:
authorJoonsoo Kim <iamjoonsoo.kim@lge.com>2014-08-06 16:04:25 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 18:01:14 -0700
commit97654dfa20caa5e6c1b0a4af715aabaf5d070d69 (patch)
tree0b4b16ba910572e9068905cf12d587d888cc5ecb /kernel/notifier.c
parent25c063fbd5512eb7190bf5af88351109aededb3f (diff)
slab: defer slab_destroy in free_block()
In free_block(), if freeing object makes new free slab and number of free_objects exceeds free_limit, we start to destroy this new free slab with holding the kmem_cache node lock. Holding the lock is useless and, generally, holding a lock as least as possible is good thing. I never measure performance effect of this, but we'd be better not to hold the lock as much as possible. Commented by Christoph: This is also good because kmem_cache_free is no longer called while holding the node lock. So we avoid one case of recursion. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com> Acked-by: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/notifier.c')
0 files changed, 0 insertions, 0 deletions