Commit b01af5c0 authored by Hyeonggon Yoo's avatar Hyeonggon Yoo Committed by Vlastimil Babka
Browse files

mm/slob: Remove unnecessary page_mapcount_reset() function call



After commit 401fb12c ("mm/sl*b: Differentiate struct slab fields by
sl*b implementations"), we can reorder fields of struct slab depending
on slab allocator.

For now, page_mapcount_reset() is called because page->_mapcount and
slab->units have same offset. But this is not necessary for struct slab.
Use unused field for units instead.

Signed-off-by: default avatarHyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
Link: https://lore.kernel.org/r/20211212065241.GA886691@odroid
parent c5e97ed1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -50,8 +50,8 @@ struct slab {
	struct list_head slab_list;
	void *__unused_1;
	void *freelist;		/* first free block */
	void *__unused_2;
	int units;
	long units;
	unsigned int __unused_2;

#else
#error "Unexpected slab allocator configured"
+0 −1
Original line number Diff line number Diff line
@@ -404,7 +404,6 @@ static void slob_free(void *block, int size)
			clear_slob_page_free(sp);
		spin_unlock_irqrestore(&slob_lock, flags);
		__folio_clear_slab(slab_folio(sp));
		page_mapcount_reset(slab_page(sp));
		slob_free_pages(b, 0);
		return;
	}