Bläddra i källkod

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>
Joonsoo Kim 11 år sedan
förälder
incheckning
25c063fbd5
1 ändrade filer med 1 tillägg och 2 borttagningar
  1. 1 2
      mm/slab.c

+ 1 - 2
mm/slab.c

@@ -3398,7 +3398,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects,
 		       int node)
 		       int node)
 {
 {
 	int i;
 	int i;
-	struct kmem_cache_node *n;
+	struct kmem_cache_node *n = get_node(cachep, node);
 
 
 	for (i = 0; i < nr_objects; i++) {
 	for (i = 0; i < nr_objects; i++) {
 		void *objp;
 		void *objp;
@@ -3408,7 +3408,6 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects,
 		objp = objpp[i];
 		objp = objpp[i];
 
 
 		page = virt_to_head_page(objp);
 		page = virt_to_head_page(objp);
-		n = get_node(cachep, node);
 		list_del(&page->lru);
 		list_del(&page->lru);
 		check_spinlock_acquired_node(cachep, node);
 		check_spinlock_acquired_node(cachep, node);
 		slab_put_obj(cachep, page, objp, node);
 		slab_put_obj(cachep, page, objp, node);