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>
This commit is contained in:
Родитель
8a9c61d438
Коммит
25c063fbd5
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче