• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..22-Aug-2025-

boards/22-Aug-2025-

src/22-Aug-2025-

CMakeLists.txt A D22-Aug-2025319 139

README.rst A D22-Aug-2025928 2218

prj.conf A D22-Aug-2025218 95

testcase.yaml A D22-Aug-2025442 1918

README.rst

1Scheduler Microbenchmark
2########################
3
4This is a scheduler microbenchmark, designed to measure minimum
5latencies (not scaling performance) of specific low level scheduling
6primitives independent of overhead from application or API
7abstractions.  It works very simply: a main thread creates a "partner"
8thread at a higher priority, the partner then sleeps using
9_pend_curr_irqlock().  From this initial state:
10
111. The main thread calls _unpend_first_thread()
122. The main thread calls _ready_thread()
133. The main thread calls k_yield()
14   (the kernel switches to the partner thread)
154. The partner thread then runs and calls _pend_curr_irqlock() again
16   (the kernel switches to the main thread)
175. The main thread returns from k_yield()
18
19It then iterates this many times, reporting timestamp latencies
20between each numbered step and for the whole cycle, and a running
21average for all cycles run.
22