# Linux Kernel ## Docs - [Kernel Parameters](https://mintlify.wiki/torvalds/linux/admin/kernel-parameters.md): Configure the Linux kernel at boot time using command-line parameters passed through the bootloader. - [Kernel Modules](https://mintlify.wiki/torvalds/linux/admin/modules.md): Load, unload, configure, sign, and build Linux kernel modules. Understand the tainted kernel flags that modules can trigger. - [Security Hardening](https://mintlify.wiki/torvalds/linux/admin/security-hardening.md): Harden the Linux kernel using KASLR, KPTI, LSMs, seccomp, namespace isolation, and hardware mitigations against Spectre and Meltdown. - [sysctl — Runtime Kernel Configuration](https://mintlify.wiki/torvalds/linux/admin/sysctl.md): Read and write kernel parameters at runtime using sysctl and the /proc/sys virtual filesystem. - [Block Layer API](https://mintlify.wiki/torvalds/linux/api/block-layer.md): Kernel API reference for the Linux multi-queue block layer (blk-mq) — struct bio, struct request, blk_mq_tag_set, blk_mq_ops, I/O schedulers, and block device registration. - [Locking primitives](https://mintlify.wiki/torvalds/linux/api/locking-primitives.md): Reference for Linux kernel locking APIs including spinlocks, mutexes, reader-writer locks, semaphores, and atomic operations, with guidance on choosing the right primitive. - [Memory Allocation](https://mintlify.wiki/torvalds/linux/api/memory-allocation.md): Comprehensive reference for Linux kernel memory allocation APIs, including the slab allocator, vmalloc, page allocator, GFP flags, and managed allocations with devm_kmalloc. - [Networking Subsystem API](https://mintlify.wiki/torvalds/linux/api/networking.md): Kernel API reference for Linux networking — socket buffers, network devices, NAPI poll, and the packet Rx/Tx path. - [RCU — Read-Copy Update](https://mintlify.wiki/torvalds/linux/api/rcu.md): Reference for the Linux kernel RCU (Read-Copy Update) API, covering read-side locking, pointer publication and dereference, grace period management, SRCU, and when to use RCU versus traditional locks. - [Linux Security Module (LSM) API](https://mintlify.wiki/torvalds/linux/api/security-lsm.md): Kernel API reference for the Linux Security Module framework — hook registration, security_add_hooks(), key LSM hooks, BPF LSM, LSM stacking, and private blob management. - [Workqueue](https://mintlify.wiki/torvalds/linux/api/workqueue.md): Reference for the Linux kernel Concurrency Managed Workqueue (cmwq) API, covering work item declaration, scheduling, flushing, workqueue creation, and system workqueues. - [Contributing to the Linux kernel](https://mintlify.wiki/torvalds/linux/contributing.md): A practical guide to the Linux kernel contribution process — from finding something to work on, through coding style and patch preparation, to submitting via mailing lists and navigating review. - [Coding Style](https://mintlify.wiki/torvalds/linux/development/coding-style.md): The Linux kernel coding style guide covering indentation, naming, braces, functions, comments, typedefs, macros, and printk formatting. - [Debugging](https://mintlify.wiki/torvalds/linux/development/debugging.md): Kernel debugging tools including KASAN, KCSAN, KMEMLEAK, lockdep, ftrace, perf, KGDB, dynamic debug, and the BUG/WARN macro family. - [Rust in the Kernel](https://mintlify.wiki/torvalds/linux/development/rust-in-kernel.md): Using Rust for Linux kernel development — toolchain setup, the kernel crate API, writing kernel modules, safety requirements, and C interoperability via bindgen. - [Submitting Patches](https://mintlify.wiki/torvalds/linux/development/submitting-patches.md): How to prepare, format, and submit patches to the Linux kernel — from writing good commit messages to using git send-email and responding to review. - [Linux Device Model](https://mintlify.wiki/torvalds/linux/drivers/device-model.md): The Linux device model — bus, device, and driver hierarchy, struct device and struct device_driver, platform devices, probe/remove lifecycle, devm_ resource management, device tree bindings, and sysfs representation. - [DMA API](https://mintlify.wiki/torvalds/linux/drivers/dma-api.md): The Linux DMA API — coherent and streaming mappings, dma_alloc_coherent, dma_map_single, scatter-gather, DMA masks, IOMMU considerations, and DMA pools. - [Driver Development Overview](https://mintlify.wiki/torvalds/linux/drivers/overview.md): Introduction to Linux kernel driver development covering driver types, module boilerplate, character devices, and the driver registration lifecycle. - [Driver Power Management](https://mintlify.wiki/torvalds/linux/drivers/power-management.md): Runtime PM, system sleep states, dev_pm_ops callbacks, wakeup sources, power domains, and autosuspend for Linux device drivers. - [Kernel Architecture](https://mintlify.wiki/torvalds/linux/internals/architecture.md): An overview of the Linux kernel's monolithic design with loadable modules, key subsystems, supported architectures, and the system call interface. - [Filesystems](https://mintlify.wiki/torvalds/linux/internals/filesystems.md): How the Linux Virtual File System (VFS) abstraction layer works, including inodes, dentries, file_operations, major filesystem implementations, and mounting. - [Memory Management](https://mintlify.wiki/torvalds/linux/internals/memory-management.md): How the Linux kernel manages physical and virtual memory, including the buddy allocator, SLUB, memory zones, NUMA, huge pages, and the OOM killer. - [Networking Stack](https://mintlify.wiki/torvalds/linux/internals/networking-stack.md): How the Linux kernel implements the networking stack, from socket buffers and protocol layers to Netfilter, eBPF/XDP, NAPI, and network namespaces. - [Process Scheduler](https://mintlify.wiki/torvalds/linux/internals/process-scheduler.md): How the Linux kernel schedules tasks across CPUs, covering CFS, EEVDF, real-time scheduling, SMP load balancing, and cgroup-based CPU control. - [Introduction to the Linux kernel](https://mintlify.wiki/torvalds/linux/introduction.md): An overview of what the Linux kernel is, how it is architected, who uses it, and the communities that maintain it. - [Build the Linux kernel from source](https://mintlify.wiki/torvalds/linux/quickstart-build.md): A step-by-step guide to installing dependencies, obtaining the source, configuring, compiling, and installing a custom Linux kernel.