Fix callers and tighten assert.
bmk_pgalloc(int order)
{
- return bmk_pgalloc_align(order, 1);
+ return bmk_pgalloc_align(order, BMK_PCPU_PAGE_SIZE);
}
void *
unsigned long p, len;
unsigned int bucket;
- bmk_assert((align & (align-1)) == 0);
+ bmk_assert(align >= BMK_PCPU_PAGE_SIZE && (align & (align-1)) == 0);
bmk_assert((unsigned)order < FREELIST_LEVELS);
for (bucket = order; bucket < FREELIST_LEVELS; bucket++) {
if (len < BMK_PCPU_PAGE_SIZE) {
*retval = bmk_memalloc(len, alignment, BMK_MEMWHO_RUMPKERN);
} else {
+ bmk_assert((alignment & (alignment-1)) == 0);
+ if (alignment < BMK_PCPU_PAGE_SIZE)
+ alignment = BMK_PCPU_PAGE_SIZE;
*retval = bmk_pgalloc_align(len2order(len), alignment);
}
if (*retval)