Core API Documentation¶
This is the beginning of a manual for core kernel APIs. The conversion (and writing!) of documents for this manual is much appreciated!
Core utilities¶
This section has general and “core core” documentation. The first is a massive grab-bag of kerneldoc info left over from the docbook days; it should really be broken up someday when somebody finds the energy to do it.
Data structures and low-level utilities¶
Library functionality that is used throughout the kernel.
- Everything you never wanted to know about kobjects, ksets, and ktypes
 - Adding reference counters (krefs) to kernel objects
 - Scope-based Cleanup Helpers
 - Generic Associative Array Implementation
 - Folio Queue
 - XArray
 - Maple Tree
 - ID Allocation
 - Circular Buffers
 - Red-black Trees (rbtree) in Linux
 - Generic radix trees/sparse arrays
 - Generic bitfield packing and unpacking functions
 - this_cpu operations
 - ktime accessors
 - The errseq_t datatype
 - Atomic types
 - Atomic bitops
 - Floating-point API
 - Union-Find in Linux
 - Min Heap API
 - Generic parser
 
Low level entry and exit¶
Concurrency primitives¶
How Linux keeps everything from happening at the same time. See Locking for more related documentation.
Low-level hardware management¶
Cache management, managing CPU hotplug, etc.
Memory management¶
How to allocate and use memory in the kernel. Note that there is a lot more memory-management documentation in Memory Management Documentation.
- Memory Allocation Guide
 - Unaligned Memory Accesses
 - Dynamic DMA mapping using the generic device
 - Dynamic DMA mapping Guide
 - DMA attributes
 - DMA with ISA and LPC devices
 - DMA and swiotlb
 - Memory Management APIs
 - Cgroup Kernel APIs
 - The genalloc/genpool subsystem
 - pin_user_pages() and related calls
 - Boot time memory management
 - GFP masks used from FS/IO context
 
Interfaces for kernel debugging¶
Everything else¶
Documents that don’t fit elsewhere or which have yet to be categorized.