mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-15 09:55:22 +00:00
The syscall_perf test cannot be built successfully due to region RAM overflow on qemu_riscv32_xip and hifive1_revb. The dtim is only 16KB, To reduce the main stack size to make it can be built successfully. Base on the spec(fe310-g002-manual-v1p1.pdf), the size of itim should be 8KB. Modify the definition in its DTS file. And it also fix some of the gcc warning when testing it by twister. This PR partially fixes #41399. Signed-off-by: Enjia Mai <enjia.mai@intel.com> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
prj.conf | ||
README.rst | ||
sample.yaml |
.. _syscall_perf: Syscall performances ==================== The goal of this sample application is to measure the performance loss when a user thread has to go through a system call compared to a supervisor thread that calls the function directly. Overview ******** This application creates a supervisor and a user thread. Then both threads call k_current_get() which returns a reference to the current thread. The user thread has to go through a system call. Both threads are showing the number of core clock cycles and the number of instructions executed while calling k_current_get(). Sample Output ************* .. code-block:: console User thread: 18012 cycles 748 instructions Supervisor thread: 7 cycles 4 instructions User thread: 20136 cycles 748 instructions Supervisor thread: 7 cycles 4 instructions User thread: 18014 cycles 748 instructions Supervisor thread: 7 cycles 4 instructions