Using and Understanding the Real-Time Cyclictest Benchmark
summary
cyclictest measures wakeup jitter by repeatedly sleeping until a scheduled time, reporting min/avg/max and histograms; switching to clock_nanosleep plus real‑time FIFO priority cuts a measured max from ~337 µs to ~68 µs in examples, while a default run over the network shows a ~2699 µs outlier. Runs use 100000 loops (longer runs find rarer tails), thread pinned vs not changes the histogram shape, and the tool can trigger kernel tracers to capture causes for bad samples.
AI-written summary · about
chapters (47)
- 0:00Introduction
- 0:50What is realtime performance
- 3:03RealTime Expert
- 4:14SMEyes
- 8:22Program Overview
- 9:31Timer Thread
- 9:50Thread Setup
- 10:29Multiple Threads
- 10:40Every Thread
- 11:02Main Program
- 11:29Timer Threads
- 12:04Limitations
- 16:36IRQ Source
- 17:31Stop Machine
- 19:18Dont use cyclic test
- 22:43Example of measuring latency
- 24:39Log scale and vertical axis
- 25:18Real cyclic test output
- 25:46Command line options
- 25:59Running the stupid program
- 26:48Graphs
- 28:17Configuration Options
- 34:59Pin vs NonPin
- 35:50Measuring Systems
- 36:19What is Cyclictest
- 37:27Demo Cyclictest
- 38:01OK Source
- 38:53OSDLorg
- 40:44Examples
- 41:04Different Shapes
- 42:01Latency
- 42:20Oddball
- 42:37Multipeak
- 43:05Low Data Points
- 43:56Cyclic Test
- 44:34Useful Options
- 44:50Debug Options
- 45:14Latency Triggers
- 45:46Hairball Nest
- 46:26Data Formats
- 46:54Time Graph
- 47:18Throttle
- 48:10Cyclictest Example
- 49:56Log Graph
- 50:33Demo
- 50:44Live Demo
- 51:12Upcoming Data Format
related talks
33mCyclic Tests Unleashed: Large-Scale RT Analysis with Jitterdebugger
27mReal-time Testing with Fuego
40mrtla timerlat: Debugging Real-time Linux Scheduling Latency
02h 41mMicro Benchmarking - The Art of Realizing One is Wrong
42mExercising the Linux scheduler with Yogini
11mBenchmarking in C++
13mHibernation Testing Challenges and Optimization Opportunities
39mRegression Testing Boot-time Performance in the Linux Kernel
