$linuxjunkies
>

PreemptionPolicy

also: preemption model, CONFIG_PREEMPT, kernel preemption

A kernel configuration that determines how the Linux scheduler handles task switching and responsiveness by controlling when process preemption can occur.

PreemptionPolicy defines the kernel's behavior for interrupting (preempting) running processes to allow other tasks to execute. Linux offers several preemption models that trade off between system responsiveness and throughput.

The main preemption policies are: No Preemption (least responsive, best throughput), Voluntary Preemption (preemption at specific kernel checkpoints), Preemptible Kernel (most responsive, slightly lower throughput), and Real-Time Preemption (for ultra-low latency requirements). For example, a desktop system benefits from preemptible kernels to keep the UI responsive, while a database server might use no preemption for maximum throughput.

PreemptionPolicy is configured at kernel compile time via CONFIG_PREEMPT_* options and affects scheduling latency—how quickly a ready process gets CPU time. Higher preemption means more context switches but better interactivity for user-facing applications.

Related terms