diff options
author | Joonsoo Kim <iamjoonsoo.kim@lge.com> | 2014-08-06 16:04:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 18:01:14 -0700 |
commit | 25c063fbd5512eb7190bf5af88351109aededb3f (patch) | |
tree | 861c20931ee12c950cc56d64c9965dd630c277bb /mm/slab.c | |
parent | 8a9c61d4381c5e5007cc68e023940b18fa0808d7 (diff) | |
download | linux-exynos-25c063fbd5512eb7190bf5af88351109aededb3f.tar.gz linux-exynos-25c063fbd5512eb7190bf5af88351109aededb3f.tar.bz2 linux-exynos-25c063fbd5512eb7190bf5af88351109aededb3f.zip |
slab: move up code to get kmem_cache_node in free_block()
node isn't changed, so we don't need to retreive this structure
everytime we move the object. Maybe compiler do this optimization, but
making it explicitly is better.
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 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index 7d07942b9804..205632c94a6a 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3398,7 +3398,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, int node) { int i; - struct kmem_cache_node *n; + struct kmem_cache_node *n = get_node(cachep, node); for (i = 0; i < nr_objects; i++) { void *objp; @@ -3408,7 +3408,6 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, objp = objpp[i]; page = virt_to_head_page(objp); - n = get_node(cachep, node); list_del(&page->lru); check_spinlock_acquired_node(cachep, node); slab_put_obj(cachep, page, objp, node); |