// SPDX-License-Identifier: GPL-2.0/* * Slab allocator functions that are independent of the allocator strategy * * (C) 2012 Christoph Lameter <cl@linux.com> */#include<linux/slab.h>#include<linux/mm.h>#include<linux/poison.h>#include<linux/interrupt.h>#include<linux/memory.h>#include<linux/cache.h>#include<linux/compiler.h>#include<linux/module.h>#include<linux/cpu.h>#include<linux/uaccess.h>#include<linux/seq_file.h>#include<linux/proc_fs.h>#include<asm/cacheflush.h>#include<asm/tlbflush.h>#include<asm/page.h>#include<linux/memcontrol.h>#define CREATE_TRACE_POINTS#include<trace/events/kmem.h>#include"slab.h"enumslab_stateslab_state;LIST_HEAD(slab