I have a program that uses libkvm to dump the address of each slab
allocated to a zone. The intent is to measure fragmentation caused by
_NOFREE zones. When updating the program to catch up with all of the
UMA changes, I ended up simplifying uma_int.h a little bit:
- Make slab_sizeof(), slab_space() and slab_ipers() local to uma_core.c. I can't see why they need to be exported, and they don't follow the UMA namespace conventions. Note that a couple of these functions are unused.
- Group KEG_ASSERT_COLD with other keg macros.
- Stop defining the slab structures under _KERNEL. There's no real reason they can't be visible to userspace like the rest of UMA's structures are.
- Remove an assertion about MAXMEMDOM - there are tons of places in the tree that assume that a domain index fits in 8 bits.
No functional change intended.