예제 #1
0
percpu_t *
percpu_alloc(size_t size)
{
    unsigned int offset;
    percpu_t *pc;

    ASSERT_SLEEPABLE();
    offset = vmem_alloc(percpu_offset_arena, size, VM_SLEEP | VM_BESTFIT);
    pc = (percpu_t *)percpu_encrypt((uintptr_t)offset);
    percpu_zero(pc, size);
    return pc;
}
예제 #2
0
percpu_t *
percpu_alloc(size_t size)
{
	vmem_addr_t offset;
	percpu_t *pc;

	ASSERT_SLEEPABLE();
	if (vmem_alloc(percpu_offset_arena, size, VM_SLEEP | VM_BESTFIT,
	    &offset) != 0)
		return NULL;
	pc = (percpu_t *)percpu_encrypt((uintptr_t)offset);
	percpu_zero(pc, size);
	return pc;
}