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
- Linked Lists in Linux
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
- Kexec Handover Subsystem
Interfaces for kernel debuggingΒΆ
Everything elseΒΆ
Documents that donβt fit elsewhere or which have yet to be categorized.