zephyr/tests/benchmarks/latency_measure
Alexandre Bourdiol 9368211265 test/benchmarks/latency_measure: adapt test to 24bit Systick for STM32
Cortex-M has 24bit systick.
But this test by default set 1 TICK per seconds, which  is
achievable only if frequency is below 0x00FFFFFF (around 16MHz).
20 Ticks per secondes allows a frequency up to 335544300Hz (335MHz)

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-05-19 17:14:01 +02:00
..
boards tests: benchmarks: latency_measure: Fix atsame54_xpro 2020-05-12 16:40:34 +02:00
src tests: latency_measure: allow use of other timer for timestamp 2020-05-09 13:09:50 +02:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
README.txt
prj.conf tests: latency_measure: disable power management 2020-04-11 15:32:49 -04:00
testcase.yaml test/benchmarks/latency_measure: adapt test to 24bit Systick for STM32 2020-05-19 17:14:01 +02:00

README.txt

Title: Latency Measurement

Description:

This benchmark measures the latency of selected capabilities

IMPORTANT: The sample output below was generated using a simulation
environment, and may not reflect the results that will be generated using other
environments (simulated or otherwise).


Sample Output:

***** BOOTING ZEPHYR OS v1.7.99 - BUILD: Mar 24 2017 22:46:05 *****
|-----------------------------------------------------------------------------|
|                            Latency Benchmark                                |
|-----------------------------------------------------------------------------|
|  tcs = timer clock cycles: 1 tcs is 10 nsec                                 |
|-----------------------------------------------------------------------------|
| 1 - Measure time to switch from ISR back to interrupted thread              |
| switching time is 12591 tcs = 125910 nsec                                   |
|-----------------------------------------------------------------------------|
| 2 - Measure time from ISR to executing a different thread (rescheduled)       |
| switch time is 8344 tcs = 83440 nsec                                        |
|-----------------------------------------------------------------------------|
| 3 - Measure average time to signal a sema then test that sema               |
| Average semaphore signal time 63 tcs = 638 nsec                             |
| Average semaphore test time 49 tcs = 498 nsec                               |
|-----------------------------------------------------------------------------|
| 4- Measure average time to lock a mutex then unlock that mutex              |
| Average time to lock the mutex 107 tcs = 1078 nsec                          |
| Average time to unlock the mutex 92 tcs = 929 nsec                          |
|-----------------------------------------------------------------------------|
| 5 - Measure average context switch time between threads using (k_yield)       |
| Average thread context switch using yield 110 tcs = 1107 nsec                 |
|-----------------------------------------------------------------------------|
| 6 - Measure average context switch time between threads (coop)              |
| Average context switch time is 88 tcs = 882 nsec                            |
|-----------------------------------------------------------------------------|
===================================================================
PROJECT EXECUTION SUCCESSFUL