CONFIG_SCHED_SCALABLE
Red/black tree ready queue
Type: bool
Help
When selected, the scheduler ready queue will be implemented
as a red/black tree. This has rather slower constant-time
insertion and removal overhead, and on most platforms (that
are not otherwise using the rbtree somewhere) requires an
extra ~2kb of code. But the resulting behavior will scale
cleanly and quickly into the many thousands of threads. Use
this on platforms where you may have many threads (very
roughly: more than 20 or so) marked as runnable at a given
time. Most applications don't want this.
Direct dependencies
<choice SCHED_ALGORITHM: Scheduler priority queue algorithm>
(Includes any dependencies from ifs and menus.)
Kconfig definition
At <Zephyr>/kernel/Kconfig:243
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:40
Menu path: (Top) → General Kernel Options → Scheduler priority queue algorithm
config SCHED_SCALABLE
bool "Red/black tree ready queue"
depends on <choice SCHED_ALGORITHM>
help
When selected, the scheduler ready queue will be implemented
as a red/black tree. This has rather slower constant-time
insertion and removal overhead, and on most platforms (that
are not otherwise using the rbtree somewhere) requires an
extra ~2kb of code. But the resulting behavior will scale
cleanly and quickly into the many thousands of threads. Use
this on platforms where you may have many threads (very
roughly: more than 20 or so) marked as runnable at a given
time. Most applications don't want this.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)