memoryallocators man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

MEMORYALLOCATORS(9)	 BSD 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⟩

BSD				August 3, 2009				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net