Commit ea37df54 authored by Alexander Potapenko's avatar Alexander Potapenko Committed by Linus Torvalds

slub: tidy up initialization ordering

 - free_kmem_cache_nodes() frees the cache node before nulling out a
   reference to it

 - init_kmem_cache_nodes() publishes the cache node before initializing
   it

Neither of these matter at runtime because the cache nodes cannot be
looked up by any other thread.  But it's neater and more consistent to
reorder these.

Link: http://lkml.kernel.org/r/20170707083408.40410-1-glider@google.comSigned-off-by: default avatarAlexander Potapenko <glider@google.com>
Acked-by: default avatarChristoph 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 964f14a0
...@@ -3358,8 +3358,8 @@ static void free_kmem_cache_nodes(struct kmem_cache *s) ...@@ -3358,8 +3358,8 @@ static void free_kmem_cache_nodes(struct kmem_cache *s)
struct kmem_cache_node *n; struct kmem_cache_node *n;
for_each_kmem_cache_node(s, node, n) { for_each_kmem_cache_node(s, node, n) {
kmem_cache_free(kmem_cache_node, n);
s->node[node] = NULL; s->node[node] = NULL;
kmem_cache_free(kmem_cache_node, n);
} }
} }
...@@ -3389,8 +3389,8 @@ static int init_kmem_cache_nodes(struct kmem_cache *s) ...@@ -3389,8 +3389,8 @@ static int init_kmem_cache_nodes(struct kmem_cache *s)
return 0; return 0;
} }
s->node[node] = n;
init_kmem_cache_node(n); init_kmem_cache_node(n);
s->node[node] = n;
} }
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment