@@ -36,4 +36,49 @@ https://e2e.ti.com/ or https://support.ti.com/
3636System Benchmarks
3737*****************
3838
39- |
39+ Stress-ng and Cyclic Test
40+
41+ .. _RT-linux-performance :
42+
43+ stress-ng (next-generation) will stress test a embedded platform in various selectable ways.
44+ It was designed to exercise various physical subsystems as well as the various
45+ operating system kernel interfaces. stress-ng can also measure test throughput rates;
46+ this can be useful to observe performance changes across different operating system or types of hardware.
47+
48+ Cyclictest is most commonly used for benchmarking RT systems.
49+ It is one of the most frequently used tools for evaluating the relative performance of real-time systems.
50+ Some performance tests which use Cyclictest are System benchmarking, Latency debugging with tracing and
51+ approximating application performance.
52+
53+ Test commands used for running stress-ng and cyclictest together
54+
55+ .. code :: console
56+
57+ stress-ng --cpu-method=all -c 4 &
58+ cyclictest -m -Sp80 -D6h -h400 -i200 -M -q
59+
60+ The following summarizes the latencies observed using the yocto based
61+ default SDK image
62+
63+ .. note ::
64+
65+ Using the OP-TEE TRNG driver can impact this benchmark's performance due to
66+ frequent context switching between Normal World (Linux) and Secure World (OP-TEE),
67+ that occurs when the kernel's hardware random number generator interface
68+ (hwrng) requests entropy from the secure TRNG to replenish the Linux entropy
69+ pool.
70+
71+ The Linux TRNG driver can mitigate these latency spikes. This involves
72+ enabling the Pseudo RNG driver in OP-TEE as documented in the Foundational
73+ Components section: :ref: `building-optee-with-prng `, and enabling the RNG
74+ node in the Linux kernel device tree. This way the HW TRNG is accessed from
75+ the kernel itself.
76+
77+ .. csv-table ::
78+ :header: "Latencies","CPU 0","CPU 1","CPU 2","CPU 3"
79+
80+ "Minimum (usec)","4","4","4","4"
81+ "Average (usec)","5","5","5","5"
82+ "Maximum (usec)","39","42","44","47"
83+
84+ .. image :: img/rt-cpu-method-all-latency-histogram.png
0 commit comments