zephyr/samples/userspace/syscall_perf
Flavio Ceolin 438e8a4cb0 samples: syscall_perf: Remove unused build option
This sample does not define any syscall. It does need to set
CONFIG_APPLICATION_DEFINE_SYSCALL.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-12-14 19:07:39 +00:00
..
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

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