GitHunt
HO

hodgesds/kernel-docs

concise kernel API docs

kernel-docs

Extended documentation for various Linux kernel subsystems and APIs. These docs are designed to be consumable by both humans and LLMs for quickly getting context on kernel internals.

Overview

Topic Description
Audit Syscall auditing, filter rules, file watches, and SELinux integration
Block Layer Linux block I/O layer, request queues, and block device drivers
BPF (eBPF) BPF subsystem, program types, maps, and the verifier
Cgroups Control groups v1/v2, resource controllers, and hierarchy management
CPU Hotplug CPU hotplug state machine, bring-up/tear-down, and callbacks
CPUFreq / CPUIdle CPU frequency scaling, idle states, governors, and schedutil
Cryptographic Subsystem Crypto API, ciphers, hashes, and cryptographic transformations
Device Model Buses, drivers, devices, and sysfs
DMA Mapping DMA address translation, streaming/coherent mappings, and SWIOTLB
VFS / Filesystems Virtual File System, inodes, dentries, and filesystem operations
IOMMU DMA remapping, device isolation, IOMMUFD, and SVA
Interrupts Hardware interrupts, IRQ handling, and softirqs
io_uring High-performance asynchronous I/O via shared-memory ring buffers
IPC Inter-process communication: pipes, signals, shared memory, and message queues
Jump Labels / Static Calls Zero-overhead branch/call primitives and text patching
Kernel Entry/Exit Syscall entry, IDT exceptions, pt_regs, KPTI, and Spectre mitigations
Kprobes / Uprobes Dynamic kernel and userspace probes, optprobes, and BPF attachment
KVM Kernel-based Virtual Machine, vCPU lifecycle, EPT/NPT, and VM exits
Live Patching Runtime function replacement via ftrace, consistency model
Lockdep Lock dependency validator, deadlock detection, and IRQ state tracking
Locking & Synchronization Spinlocks, mutexes, RW locks, and synchronization primitives
Memory Management Page allocator, slab, vmalloc, page tables, and virtual memory
Module Loading Module lifecycle, ELF parsing, symbol resolution, and signing
Namespaces 8 namespace types, nsproxy, and container isolation primitives
Netfilter Netfilter hooks, nf_tables, connection tracking, and NAT
Networking Network stack, sk_buff, sockets, and protocol handling
Perf Events Performance counters, hardware/software events, and profiling
Power Management Suspend/resume, runtime PM, and power domains
printk / Logging Lockless ring buffer, console drivers, and dynamic debug
Process Lifecycle Process creation, scheduling states, and termination
Ptrace Process tracing, stop states, syscall tracing, and YAMA LSM
RCU Read-Copy-Update synchronization mechanism
Scheduler CFS, scheduling classes, runqueues, and sched_ext
Seccomp Syscall filtering, BPF programs, and user notification
Security / LSM Linux Security Modules, hooks, and access control frameworks
Signals Signal delivery, handlers, masks, signalfd, and job control
SMP Topology CPU topology, per-CPU data, IPIs, NUMA, and scheduling domains
Timers Timer subsystem, hrtimers, and time management
Tracing Ftrace, tracepoints, kprobes, and kernel tracing infrastructure
Virtio Virtqueues, vring, transport backends, and vhost acceleration

Contributors

Created February 22, 2026
Updated March 8, 2026