Exercising the Linux scheduler with Yogini
summary
A small user-space tool called Yogini generates calibrated workloads, samples hardware counters and outputs TSV system reports; it runs built-in loops (get_cpu, AVX, memcpy) on Alder Lake 2+8 topology and records work-per-time rather than CPU busy. A 12-thread FIFO experiment (12-thread test) uses 16 ms intervals and reveals frequency drops from 4.2→4.0 GHz, runtime average power limiting that causes the big notch, and about ~50 migrations that a kernel patch reduces; E-cores prove more efficient than P-cores when HT siblings are busy.
AI-written summary · about
chapters (12)
- 0:00Introduction and motivation
- 2:09First example and hardware topology
- 5:17Work done versus CPU utilization
- 9:11Frequency and interconnect analysis
- 11:18IPC and scheduler insights
- 15:09Thread migration and scheduling behavior
- 21:12Tool design and workload generation
- 27:29Workload rates and calibration
- 32:49AVX support and architecture questions
- 35:21Second example and EAS prototype
- 39:11Tool usage and future directions
- 41:00Q&A session
related talks
42mStress Testing and Micro Benchmarking Kernels with Stress-ng
02h 44mMeasure, don’t guess: benchmarking stories from the trenches
37mReal-time Scheduling Fault Simulation
27mRISC-V CPU Development Using Olympia Performance Model
28mExtreme OS Kernel Testing
19mrtesbench: A Multi-core Benchmark Framework for Real-Time Embedded Systems
39mMicro Benchmarks
27mReal-time Testing with Fuego
