UMEM_ALIGN
if (align <= UMEM_ALIGN ||
NULL || P2PHASE((uintptr_t)bcp, UMEM_ALIGN) ||
lhsize = P2ROUNDUP(lhsize, UMEM_ALIGN);
if (align < UMEM_ALIGN)
align = UMEM_ALIGN;
ASSERT(P2PHASE(phase, UMEM_ALIGN) == 0);
if (P2ROUNDUP(bufsize, UMEM_ALIGN) >= UMEM_SECOND_ALIGN)
align = UMEM_ALIGN;
} else if (align < UMEM_ALIGN && (cflags & UMC_NOTOUCH) == 0)
align = UMEM_ALIGN;
if (align >= UMEM_ALIGN) {
chunksize = P2ROUNDUP(chunksize, UMEM_ALIGN);
cp->cache_bufctl = chunksize - UMEM_ALIGN;
cp->cache_verify = MIN(cp->cache_verify, UMEM_ALIGN);
if (P2PHASE(size, UMEM_ALIGN) != 0) {
size = P2ROUNDUP(size, UMEM_ALIGN);
size = UMEM_ALIGN;
size += UMEM_ALIGN;
ASSERT(size - UMEM_ALIGN == UMEM_MAXBUF);
umem_cache_arena = vmem_create("umem_cache", NULL, 0, UMEM_ALIGN,
umem_hash_arena = vmem_create("umem_hash", NULL, 0, UMEM_ALIGN,
umem_log_arena = vmem_create("umem_log", NULL, 0, UMEM_ALIGN,
memalign_arena = vmem_create("umem_memalign", NULL, 0, UMEM_ALIGN,
#define UMEM_SECOND_ALIGN UMEM_ALIGN