if kmalloc is called with count=N before vm_bootstrap is finished,
the request will be fulfilled using memblock_alloc.
if N is a power of 2, the returned pointer will be aligned to
an N-byte boundary.
caches with object size N, where N is a power of two, will naturally
align their objects on N-byte boundaries.
all other caches will align to an 8-byte boundary by default.