LIBUVMEM(3)

NAME
libuvmem - userspace general purpose resource allocator

SYNOPSIS
libuvmem
#include <sys/vmem.h>

DESCRIPTION
The libuvmem is a general purpose resource allocator. It is a port of the kernel facility of the similar name vmem.

Refer to the description of the kernel allocator vmem(9) to get the documentation for it.

NOTES
The “quantum cache” feature is not implemented for userspace, and the quantum and qcache_max arguments of the vmem_create() function are ignored.

The library internally uses malloc(3) to allocate structures tracking allocations.

The allocator is thread-safe. Locks for separate vmem's are independent between each other.

The supported flags for the vmem_xalloc() function are

•   M_NOWAIT

•   M_FIRSTFIT

•   M_BESTFIT

•   M_NEXTFIT

AUTHORS
See vmem(9) for the history of the kernel allocator.

The userspace port for FreeBSD was done by Konstantin Belousov <kib@FreeBSD.org>.