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 amassive grab-bag of kerneldoc info left over from the docbook days; itshould really be broken up someday when somebody finds the energy to doit.
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. SeeLocking 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 lotmore memory-management documentation inMemory 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
- Kexec Handover Subsystem
Interfaces for kernel debugging¶
Everything else¶
Documents that don’t fit elsewhere or which have yet to be categorized.