MEMORYALLOCATORS(9)    NetBSD Kernel Developer's Manual    MEMORYALLOCATORS(9)

NAME
     memoryallocators -- introduction to kernel memory allocators

DESCRIPTION
     The NetBSD kernel provides several memory allocators, each with different
     characteristics and purpose.  This document summarizes the main differ-
     ences between them.

   The Kmem Allocator
     The kmem allocator is modelled after an interface of similar name imple-
     mented in Solaris.  This is main general purpose allocator in the kernel.

     It is implemented on-top of the vmem(9) resource allocator (beyond the
     scope of this document), meaning it will be using pool_cache(9) inter-
     nally to speed-up common (small) sized allocations.

     It requires no setup, but cannot be used from interrupt context.

     See kmem(9) for more details.

   The Pool Allocator
     The pool(9) allocator is a fixed-size memory allocator.  It requires set-
     up (to initialize a memory pool) and is interrupt-safe.

     See pool(9) for more details.

   The Pool Cache Allocator
     The pool cache allocator works on-top of the pool(9) allocator, also
     allowing fixed-size allocation only, requires setup, and is interrupt-
     safe.

     The pool cache allocator is expected to be faster than other allocators,
     including the ``normal'' pool allocator.

     In the future this allocator is expected to have a per-CPU cache.

     See pool_cache(9) for more details.

   The UVM Kernel Memory Allocator
     This is a low-level memory allocator interface.  It allows variable-sized
     allocations in multiples of PAGE_SIZE, and can be used to allocate both
     wired and pageable kernel memory.

     See uvm(9) for more details.

SEE ALSO
     intro(9), kmem(9), pool(9), pool_cache(9), uvm(9), vmem(9)

AUTHORS
     Elad Efrat <elad@NetBSD.org>
     YAMAMOTO Takashi <yamt@NetBSD.org>

NetBSD 6.0                      August 3, 2009                      NetBSD 6.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen