Reader-Writer Semaphores in the Linux Kernel
Reader-Writer Semaphores in the Linux Kernel A reader-writer semaphore is a sleeping lock with two acquisition modes: any number of readers may hold it at once, while a writer requires exclusive a...
Reader-Writer Semaphores in the Linux Kernel A reader-writer semaphore is a sleeping lock with two acquisition modes: any number of readers may hold it at once, while a writer requires exclusive a...
Reader-Writer Spinlocks in the Linux Kernel Most data structures in a kernel are read far more often than they are written. Configuration tables, routing entries, the process list, filesystem meta...
Mutexes in the Linux Kernel A mutex is the kernel’s ordinary sleeping mutual-exclusion lock. It allows exactly one task to hold it at a time, it records which task that is, and it puts contending ...
Semaphores in the Linux Kernel At their core, semaphores are a classical synchronization primitive that predates the Linux kernel itself — Edsger Dijkstra introduced them in 1965. In the Linux ker...
Spinlocks in the Linux Kernel Concurrent execution is a fundamental reality of modern operating systems. On a multiprocessor system, multiple CPUs run code simultaneously, and any shared data stru...
Atomic Operators in the Linux Kernel Modern multi-core systems demand that the kernel operate correctly when multiple CPUs touch shared data simultaneously. Most C expressions that look like singl...
Per-CPU Variables On a symmetric multiprocessor system, the instinct is to protect every shared data structure with a lock. Per-CPU variables offer a better answer for a specific and very common ca...
Kernel Concurrency The Linux kernel is not a single sequential program — it is a collection of overlapping execution paths: system calls from user processes, interrupt handlers firing asynchronous...
CONFIG_CRASH_DM_CRYPT: Validating kdump on a LUKS-Encrypted Target This page provides a practical test approach for validating Linux kernel kdump support on LUKS-encrypted dump targets using CONFI...
Kexec on AArch64: From Syscall to Assembly When a Linux system needs to reboot into a new kernel, the conventional path traverses the full firmware initialization sequence — UEFI or U-Boot hands c...