zephyr/tests/benchmarks/sched_userspace
Alberto Escolar Piedras befc96f22e userspace tests/samples: Exclude in posix arch
These samples & tests cannot be run in this architecture
as it does not support userspace.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00
..
src kernel: move wait_q.h header to be internal 2023-09-12 12:55:36 -04:00
CMakeLists.txt tests/benchmarks: Add userspace scheduling benchmark 2022-12-13 17:21:11 +09:00
prj.conf tests/benchmarks: Add userspace scheduling benchmark 2022-12-13 17:21:11 +09:00
README.rst tests/benchmarks: Add userspace scheduling benchmark 2022-12-13 17:21:11 +09:00
testcase.yaml userspace tests/samples: Exclude in posix arch 2023-10-24 09:05:29 +02:00

Userspace Scheduler Microbenchmark
##################################

This is a scheduler microbenchmark, designed to measure minimum
latencies (not scaling performance) of specific low level scheduling
primitives independent of overhead from application or API
abstractions. Contrary to the non-userspace version, it runs threads
in userspace with different memory domains.

 It works very simply: a main thread creates n "yielders"
threads at a higher priority, from this initial state:

1. The main thread starts all yielders
2. Each yielder yields k times
5. The main thread joins all yielders

This is run for multiples values of n, reporting each time the
average time taken for a yield context switch.