Real-Time Scheduling Fault Simulation
summary
Work shows practical fault injection using user space: strace-based API errors and a discovered stress-ng deadline bug (reported and fixed). eBPF/bpftrace handles probes and random failures but needs CONFIG_BPF_KPROBE_OVERRIDE and cannot sleep, limiting scheduler manipulation. The kernel fault-inject framework exists (since 4.6) but is global and often disabled in distros. Probing sched internals with kprobes hits locking and inlining, so altering wakeups or deadlines at scale likely requires scheduler patching inevitable or using the new sched X glue.
AI-written summary · about
chapters (19)
- 0:00Real-time scheduling faults intro
- 1:07Preempt RT patches history
- 2:10Linux scheduling basics
- 3:13Deadline scheduler special case
- 4:39Scheduling interference sources
- 6:08Stress NG deadline flaw
- 7:13User space fault injection
- 9:23Kernel-level fault injection
- 10:26Framework limits
- 11:33eBPF fault injection
- 14:10Process timing in kernel
- 15:54Scheduler code complexity
- 19:13Scheduler patching challenges
- 23:11Initial conclusions
- 24:37Fault injection debate
- 25:51Future work
- 27:20Testing setup progress
- 29:52Further investigation
- 30:35Q&A
related talks
37mReal-time Scheduling Fault Simulation
26mIt's Coming From Inside the House: Kernelspace Fault Injection with KRF
16mscx_chaos: Pushing the sched_ext API to schedule badly
28mExtreme OS Kernel Testing
42mStress Testing and Micro Benchmarking Kernels with Stress-ng
42mExercising the Linux scheduler with Yogini
25mApplying Program Verification to Linux Kernel Code: Challenges, Practices, and...
19mCAFault: Enhance Fault Injection Technique in Practical Distributed Systems via...
