CPU Isolation and IPI interference
summary
CPU isolation fails because housekeeping CPUs still send IPIs for things like static key updates and TLB invalidations; observed with a kernel compile plus hackbench generating cross-CPU interference. The mitigation implemented defers kernel-only work to defer to kernel entry using context tracking and early-entry assembly checks; static-key deferral works, TLB deferral is “horrendous” and slows entry so far. Prototype code exists; hardware fixes (AMD invalidate broadcast, Intel remote action request) would remove much of the pain. unconditional TLB flush is a fallback but costly.
AI-written summary · about
chapters (13)
- 0:00Introduction to CPU isolation
- 1:03IPI interference on isolated CPUs
- 2:30Deferring kernel operations
- 4:36Discussion on IPI sources
- 6:24Context tracking and TLB flushes
- 8:12User space isolation challenges
- 10:40Hardware support for TLB flushes
- 12:10API for CPU isolation
- 13:53High-frequency trading use case
- 16:19Per-CPU memory pressure
- 17:25Memory bus contention risks
- 18:29TLB flush and CR3 switching
- 19:16Q&A and conclusion
