zephyr/tests/benchmarks/sched_userspace
Anas Nashif 057ba5cf45 tests: benchmarks: optimize filters and use platform_key.
Benchmarks are not tests, we run them to verify they still work and do
not bitrot. Running them on each architecture should be sufficient.

This reduces amount of churn in CI and still allows them to be run
individually on platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-26 21:42:22 +01:00
..
src
CMakeLists.txt
prj.conf
README.rst
testcase.yaml tests: benchmarks: optimize filters and use platform_key. 2024-11-26 21:42:22 +01: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.