Hardware Latencies: How to Flush Them Out
summary
A 40‑core server shows sporadic 500 µs jitters that only appear after hours; investigation uses cyclictest (dash n, -p95, -b breakpoints), ftrace / function_graph via trace-cmd, and visualization with kernelshark. Tracing isolates a 235 µs spinlock stall from a real‑time push/pull thundering‑herd; fix replaces the lock-heavy notification with an IPI handoff. A modified hwlat_detector (threaded, outer/inner checks) then catches periodic SMIs (~5–10 µs) that when back‑to‑back sum to ~200 µs; both kernel and hardware causes get resolved.
AI-written summary · about
chapters (16)
- 0:00Start
- 4:07Verification of Hardware
- 6:12Latencies
- 7:38The Enemy
- 17:09Latency Tracers
- 19:12Wakeup-rt
- 21:17preemptirqsoff
- 22:43Modified cyclictest
- 23:45Latency without Load Balance?
- 24:41Graph vs Function Tracing
- 25:29What to do?
- 28:08The Finding Nemo Seagull Effect!
- 30:35HW Lat Detector
- 35:00trace-cmd
- 35:47kernelshark
- 36:45Demo
