mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-07 07:56:14 +00:00
This test was configuring the system tick period to 1 second. The test also constantly aligns to system tick boundaries, in between each test part, which means the test runs for very long (it is holding for longer than 1 minute just on those waits between tests alone). The nrf sys tick driver configures the RTC to produce still all RTC interrupts at 32KHz intervals, which cause lots of interrupts which slow down simulation quite bit. Overall the test could take longer than 30 seconds in the nrf52_bsim in CI even that this platform simulated time is decoupled from real time. => Add a new config overlay for the nrf52_bsim board so we configure there a much higher system tick frequency It does not affect the test in any way more than shortening the wait periods between in test part. Also increment the sys tick to twice per second to speed up the test in other platforms. Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com> |
||
---|---|---|
.. | ||
boards | ||
src | ||
CMakeLists.txt | ||
prj_fp.conf | ||
prj.conf | ||
README.txt | ||
testcase.yaml |
Title: Microkernel Object Performance Description: AppKernel is used to measure the performance of microkernel events, mutexes, semaphores, FIFOs, mailboxes, pipes, memory maps, and memory pools. -------------------------------------------------------------------------------- Building and Running Project: This project outputs to the console. It can be built and executed on QEMU as follows: make run -------------------------------------------------------------------------------- Troubleshooting: Problems caused by out-dated project information can be addressed by issuing one of the following commands then rebuilding the project: make clean # discard results of previous builds # but keep existing configuration info or make pristine # discard results of previous builds # and restore pre-defined configuration info -------------------------------------------------------------------------------- Sample Output: |-----------------------------------------------------------------------------| | S I M P L E S E R V I C E M E A S U R E M E N T S | nsec | |-----------------------------------------------------------------------------| |-----------------------------------------------------------------------------| | enqueue 1 byte msg in FIFO | NNNNNN| | dequeue 1 byte msg in FIFO | NNNNNN| | enqueue 4 bytes msg in FIFO | NNNNNN| | dequeue 4 bytes msg in FIFO | NNNNNN| | enqueue 1 byte msg in FIFO to a waiting higher priority task | NNNNNN| | enqueue 4 bytes in FIFO to a waiting higher priority task | NNNNNN| |-----------------------------------------------------------------------------| | signal semaphore | NNNNNN| | signal to waiting high pri task | NNNNNN| | signal to waiting high pri task, with timeout | NNNNNN| | signal to waitm (2) | NNNNNN| | signal to waitm (2), with timeout | NNNNNN| | signal to waitm (3) | NNNNNN| | signal to waitm (3), with timeout | NNNNNNN| | signal to waitm (4) | NNNNNNN| | signal to waitm (4), with timeout | NNNNNNN| |-----------------------------------------------------------------------------| | average lock and unlock mutex | NNNNNN| |-----------------------------------------------------------------------------| | average alloc and dealloc memory page | NNNNNN| |-----------------------------------------------------------------------------| | average alloc and dealloc memory pool block | NNNNNN| |-----------------------------------------------------------------------------| | Signal enabled event | NNNNNN| | Signal event & Test event | NNNNNN| | Signal event & TestW event | NNNNNN| | Signal event with installed handler | | Handler responds OK | |-----------------------------------------------------------------------------| | M A I L B O X M E A S U R E M E N T S | |-----------------------------------------------------------------------------| | Send mailbox message to waiting high priority task and wait | | repeat for 128 times and take the average | |-----------------------------------------------------------------------------| | size(B) | time/packet (nsec) | KB/sec | |-----------------------------------------------------------------------------| | N| NNNNNN| N| | N| NNNNNN| NN| | NN| NNNNNN| NN| | NN| NNNNNN| NN| | NN| NNNNNN| NN| | NNN| NNNNNN| NNN| | NNN| NNNNNN| NNN| | NNN| NNNNNN| NNN| | NNNN| NNNNNNN| NNN| | NNNN| NNNNNNN| NNNN| | NNNN| NNNNNNN| NNNN| | NNNN| NNNNNNN| NNNN| |-----------------------------------------------------------------------------| | message overhead: NNNNNN nsec/packet | | raw transfer rate: NNNN KB/sec (without overhead) | |-----------------------------------------------------------------------------| | P I P E M E A S U R E M E N T S | |-----------------------------------------------------------------------------| | Send data into a pipe towards a receiving high priority task and wait | |-----------------------------------------------------------------------------| | matching sizes (_ALL_N) | |-----------------------------------------------------------------------------| | size(B) | time/packet (nsec) | KB/sec | |-----------------------------------------------------------------------------| | put | get | no buf | small buf| big buf | no buf | small buf| big buf | |-----------------------------------------------------------------------------| | N| N| NNNNNNN| NNNNNNN| NNNNNNN| N| N| N| | NN| NN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NN| NN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NN| NN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NNN| NNN| NNN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NNN| NNN| NNN| | NNNN| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| NNN| NNN| NNN| | NNNN| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| NNN| NNN| NNN| | NNNN| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| NNNN| NNNN| NNNN| |-----------------------------------------------------------------------------| | non-matching sizes (1_TO_N) to higher priority | |-----------------------------------------------------------------------------| | size(B) | time/packet (nsec) | KB/sec | |-----------------------------------------------------------------------------| | put | get | no buf | small buf| big buf | no buf | small buf| big buf | |-----------------------------------------------------------------------------| | N| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| N| N| N| | NN| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NN| NNNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNN| NN| NNNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NN| | NNNN| NN| NNNNNNNN| NNNNNNNN| NNNNNNNN| NN| NN| NN| | NNNN| NN| NNNNNNNNN| NNNNNNNNN| NNNNNNNNN| NN| NN| NN| | NNNN| N| NNNNNNNNN| NNNNNNNNN| NNNNNNNNN| N| N| N| |-----------------------------------------------------------------------------| | non-matching sizes (1_TO_N) to lower priority | |-----------------------------------------------------------------------------| | size(B) | time/packet (nsec) | KB/sec | |-----------------------------------------------------------------------------| | put | get | no buf | small buf| big buf | no buf | small buf| big buf | |-----------------------------------------------------------------------------| | N| NNNN| NNNNNNN| NNNNNN| NNNNNN| N| N| N| | NN| NNNN| NNNNNNN| NNNNNNN| NNNNNN| NN| NN| NN| | NN| NNNN| NNNNNNN| NNNNNNN| NNNNNN| NN| NN| NN| | NN| NNN| NNNNNNN| NNNNNNN| NNNNNN| NN| NN| NN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NNN| | NNN| NNN| NNNNNNN| NNNNNNN| NNNNNNN| NN| NN| NNN| | NNN| NN| NNNNNNNN| NNNNNNNN| NNNNNNN| NN| NN| NNN| | NNNN| NN| NNNNNNNN| NNNNNNNN| NNNNNNN| NN| NN| NNN| | NNNN| NN| NNNNNNNNN| NNNNNNNNN| NNNNNNN| NN| N| NNN| | NNNN| N| NNNNNNNNN|NNNNNNNNNN| NNNNNNN| N| N| NNNN| |-----------------------------------------------------------------------------| | END OF TESTS | |-----------------------------------------------------------------------------| PROJECT EXECUTION SUCCESSFUL