Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc1fb7f4 authored by Christoph Lameter's avatar Christoph Lameter Committed by Pekka Enberg
Browse files

slub: Move node determination out of hotpath



If the node does not change then there is no need to recalculate
the node from the page struct. So move the node determination
into the places where we acquire a new slab page.

Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
parent 01ad8a7b
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1828,7 +1828,6 @@ load_freelist:
	c->freelist = get_freepointer(s, object);
	page->inuse = page->objects;
	page->freelist = NULL;
	c->node = page_to_nid(page);

unlock_out:
	slab_unlock(page);
@@ -1845,8 +1844,10 @@ another_slab:
new_slab:
	page = get_partial(s, gfpflags, node);
	if (page) {
		c->page = page;
		stat(s, ALLOC_FROM_PARTIAL);
load_from_page:
		c->node = page_to_nid(page);
		c->page = page;
		goto load_freelist;
	}

@@ -1867,8 +1868,8 @@ new_slab:

		slab_lock(page);
		__SetPageSlubFrozen(page);
		c->page = page;
		goto load_freelist;

		goto load_from_page;
	}
	if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
		slab_out_of_memory(s, gfpflags, node);