After commit
401fb12c68c2 ("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: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Link: https://lore.kernel.org/r/20211212065241.GA886691@odroid
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"
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;
}