zephyr/tests/benchmarks/sched_userspace
Anas Nashif 8634c3b444 kernel: move wait_q.h header to be internal
This header does not expose any public APIs, so move it under
kernel/include and change files including it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-12 12:55:36 -04: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 tests: add kernel tag to all benchmarks and samples 2023-06-02 04:47:06 -04: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.