What it decides
"The scheduler" is not one algorithm answering one question. It answers three: which runnable task
Runqueues and classes
How does one scheduler support real-time tasks, deadline tasks, ordinary tasks, and the idle task all at
CFS and vruntime
The pinned kernel for this section, v6.18, does not run CFS as its fair-class scheduler — it runs
EEVDF
CFS and Virtual Runtime ended on a specific complaint: CFS had exactly one
nice and weights
What does nice -n 5 actually buy a process? Not a percentage, and not a guarantee — and, despite the
Preemption models
When the kernel is executing on behalf of a task — running a system call, handling a fault, walking a
Context switch
A context switch is both smaller and larger than people think. The part with a name — saving one
Load balancing
The load balancer lives in a permanent tension. Moving a runnable task onto an idle CPU puts otherwise
Real-time
The word misleads, so the definition has to come first: real-time does not mean fast. It means
cgroup CPU control
Everything earlier in this folder schedules tasks. A container, a service, or a user session is a
Diagnosing latency
The method has to come before any tool. "The application is janky" is not a scheduling problem until you