A Portable Clock Cycle Based Performance Measurement System
summary
A prototype profiling system implements a pseudo device kernel module holding circular trace buffers and a hardware abstraction layer that reads clock-cycle counters (ARM ccnt, x86 TSC), exposes a tiny macro-based instrumentation API for kernel and user space, and a CLI that returns on-the-fly min/max/avg/frequency stats between labeled profiling points in an event group. It matches occurrences across buffered events to support chained causal flows, targets single-threaded or non–reentrant paths, is open source, and currently has unknown syscall overhead.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:17Performance, in a few words
- 3:31Time Based Discrete Event Profiling
- 7:13Time measurement in Performance Assessment
- 8:55Hardware timers
- 9:32Hardware time trackers on ARM platforms
- 22:23The Instrumentation API
- 27:02Implementation in User Space
- 37:37Implementation of User Space Utility
related talks
48mProfiling data structures
36mContinuous Profiling with Parca- Beneath the Kernel to Beyond...
51mLinux Systems Performance - Architecture
45mPerformance lab. The power of the perf tool!
35mTimekeeping in the Linux Kernel
48mCyclictest latency, find out why with tracing
52mEffectively Measure and Reduce Kernel Latencies for Real-time Constraints
29mIntroduction to profiling python performance with USDT
