Finally, add support for the Critical Page Pool to the Slab Allocator. We need the slab allocator to be at least marginally aware of the existence of critical pages, or else we leave open the possibility of non-critical slab allocations stealing objects from 'critical' slabs. We add a separate, node-unspecific list to kmem_cache_t called slabs_crit. We keep all partial and full critical slabs on this list. We don't keep empty critical slabs around, in the interest of giving this memory back to the VM ASAP in what is typically a high memory pressure situation. -Matt