A community hub for understanding the Linux kernel — documentation and discussions about design decisions, internals, and the journey of contributing. Where docs.kernel.org explains what the kernel does, this site focuses on why it's designed that way: the trade-offs, the failed alternatives, and the LKML debates behind them.
Documentation spanning every major subsystem, with sourced citations (kernel commits, LWN, lore) and end-to-end "life of a ..." walkthroughs. Mirrors the site's own nav structure:
| Area | Sections |
|---|---|
| Foundations | Kernel internals · Architecture (x86-64, arm64: page tables, syscall entry, Spectre/Meltdown) · Syscalls · Time & timers · Modules |
| Memory | Memory management (allocators, reclaim, MGLRU, DAMON, CXL tiering, folios, THP…) · IOMMU |
| Scheduling & concurrency | Scheduler (EEVDF, deadline, EAS…) · Locking & RCU · Interrupts · IPC |
| Storage & I/O | VFS · Filesystems · Block layer · I/O paths · io_uring |
| Devices & drivers | Device drivers · USB · GPU/DRM · Sound/ALSA · Input/HID · TTY/serial |
| Networking & BPF | Network stack (XDP, AF_XDP, kTLS, netfilter, namespaces…) · BPF/eBPF |
| Isolation & security | Security (SELinux, Landlock, seccomp…) · Cgroups & namespaces · Virtualization/KVM · Crypto · Livepatch |
| Observability | Tracing · Debugging · Power management |
- Contributing Guide - Get started as a contributor
- GitHub Discussions - Questions and conversations
- Issues - Suggest topics or report problems
- Documentation: CC BY-SA 4.0
- Code snippets: GPL-2.0
- Tux logo: Larry Ewing (original), Simon Budig (SVG)