LLVM's Realtime Safety Revolution: Tools for Modern Mission Critical Systems
Talkat CppCon 2024 · on Monday, 2024-09-16· at 15:15· Spruce 3/4, 6700 North Gaylord Rockies Boulevard·
summary
LLVM 20 ships a runtime checker and a compile‑time checker: RealtimeSanitizer intercepts libc calls (malloc, pthread_mutex_lock, etc.), prints a stack and aborts if they occur inside an annotated realtime 함수, while -Wperf-constraints (performance constraints attributes) makes the compiler reject calls from non‑blocking functions unless callees are annotated. The runtime overhead is minimal; the compile checks are conservative and can yield false positives; both tools run together, catch hidden third‑party allocations, and ship as working LLVM features with a standalone header for non‑clang builds.
AI-written summary · about
chapters (12)
- 0:00Welcome
- 2:34Real-time programming
- 10:20Real-time safety strategies
- 12:44Real-time sanitizer intro
- 15:13How sanitizer works
- 21:55Performance constraints
- 31:29Tool limitations
- 33:13Runtime vs compile-time
- 38:49False positives/negatives
- 41:18Tool costs
- 45:08Using tools outside LLVM
- 47:58Summary & Q&A
related talks
30mThread Sanitizing for Java
45mPerf tools updates and beyond
43mRTLA: Real-time Linux Analysis Toolset
21mEnhancing Runtime Reliability in LLM Training via Fine-Grained Observability
40mAutomatic Generation of Runtime Checkers for Production Distributed Systems
25mRISC-V Zkt: Portable Timing Attack Resistance (via Dynamic Taint Analys...
51mRTLA Timerlat - the next step in scheduling latency analysis
30mUnderstanding the runtime behaviors of C++ programs using uftrace tool
