zephyr/tests/benchmarks/sched_queues
Peter Mitsis 318b49570a tests: scheduler queue benchmarks
Implements a set of tests designed to show how the performance of the
three scheduler queue implementations (DUMB, SCALABLE and MULTIQ)
varies with respect to the number of threads in the ready queue.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-10-07 20:16:20 -04:00
..
src
CMakeLists.txt
Kconfig
README.rst
prj.conf
prj.verbose.conf
testcase.yaml

README.rst

Scheduling Queue Measurements
#############################

A Zephyr application developer may choose between three different scheduling
algorithms--dumb, scalable and multiq. These different algorithms have
different performance characteristics--characteristics that vary as the
number of ready threads increases. This benchmark can be used to help
determine which scheduling algorithm may best suit the developer's application.

This benchmark measures the ...
* Time to add a threads of increasing priority to the ready queue
* Time to add threads of decreasing priority to the ready queue
* Time to remove highest priority thread from a wait queue
* Time to remove lowest priority thread from a wait queue

By default, these tests show the minimum, maximum, and averages of the measured
times. However, if the verbose option is enabled then the set of measured
times will be displayed. The following will build this project with verbose
support:

    EXTRA_CONF_FILE="prj.verbose.conf" west build -p -b <board> <path to project>