Hi all ! I just released the Non-Preempt Test (npt) version 1.01 which is available here: http://git.dorsal.polymtl.ca/?p=npt.git The purpose of this tool is to simulate a small real-time system that runs with a high priority without being stopped or preempted. To do so, it first sets its environment (cpu affinity, RT scheduler, memory locked into RAM with mlockall) and can optionally disable the local IRQs if compiled with the right options (not defined by default). The core of the application is a loop that calculates the time gap between the start of two consecutive loops using the rdtsc asm instruction, thus a similarity with the hwlat_detector kernel module for kernel analysis. At the end of its execution, npt computes latencies statistics for each loop and generates a histogram showing the different latencies reached and the number of time it reached each one. This tool can be used to analyse and identify overhead of different realtime applications as we can compare the latencies in each loops and thus identify the added latency from a "blank" run. It is released LTTng-ready and can thus be easily traced. Next versions could include other userspace tracers ability. Feedback, collaborations and contributions are welcome! Regards, Raphaël Beamonte
Attachment:
signature.asc
Description: OpenPGP digital signature