One of the strange issues in slab.h is that it contains a list of global slab caches. The following patches remove all the global definitions from slab.h into #include files where related information is defined.