[www.kernel.org] CPU and Device Power Management
CPU Idle Time Management
[www.kernel.org] CPU hotplug in the Kernel
[by1994.github.io] Linux CPU and Power
[www.kernel.org] Power Management
[ostconf.com] Power Management in Linux* - State of The Art
[www.kernel.org] Working-State Power Management
CPU Idle Time Management
CPU DVFS
[www.kernel.org] CPUFreq Governor
Scheduler
CPU Affinity
[www.how-hard-can-it.be] CPU Affinity Introduction ☑
CPU affinity 是指限制某個 thread 只能跑在哪些 CPU 上.
CPU affinity 的好處:
1. optimize cache performance: 如果 thread 不斷地被 schedule 到不同的 CPU, 會帶來比較高的 cache invalidate penalty.
2. optimize cache performance: 如果多個 thread 會常常 access 到同一組 data, 把它們綁在同一顆 CPU, 可以增加 cache his rate.
3. ensure performance of time-sensitive applications: 讓對時間需求敏感的 threads, 確保有充足的 CPU 來 serve 它們.
[man7.org] [Linux Programmer's Manual] sched_setaffinity ☑
設定某個 thread 可以跑在哪些 CPU 上.
CPUSET
[www.kernel.org] [The Linux kernel user's and administrator's guide] CPUSETS ☑
[man7.org][Linux Programmer's Manual] cpuset ☑
Energy Aware Scheduling
[kernel.org] Energy Aware Scheduling
Scheduler
[man7.org][Linux Programmer's Manual] sched ☑ - overview of CPU scheduling
[android.googlesource.com] sched-tune
[kernel.org] Capacity Aware Scheduling - CPU capacity, Task Utilization
[kernel.org] CFS Scheduler
[LWN.et] Per-entity load tracking