zephyr/samples/userspace/syscall_perf/README.rst
Nicolas Royer 86c5cf18db samples: userspace: syscall_perf
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.

Signed-off-by: Nicolas Royer <nroyer@baylibre.com>
2020-11-09 15:37:11 -05:00

33 lines
1,001 B
ReStructuredText

.. _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