-
CONFIG_WAITQ_SCALABLE
¶
Use scalable wait_q implementation
Type: bool
Help¶
When selected, the wait_q will be implemented with a balanced tree. Choose this if you expect to have many threads waiting on individual primitives. There is a ~2kb code size increase over WAITQ_DUMB (which may be shared with SCHED_SCALABLE) if the rbtree is not used elsewhere in the application, and pend/unpend operations on “small” queues will be somewhat slower (though this is not generally a performance path).
Direct dependencies¶
<choice WAITQ_ALGORITHM: Wait queue priority algorithm>
(Includes any dependencies from ifs and menus.)
Kconfig definition¶
At <Zephyr>/kernel/Kconfig:280
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:30
Menu path: (Top) → General Kernel Options → Wait queue priority algorithm
config WAITQ_SCALABLE bool "Use scalable wait_q implementation" depends on <choice WAITQ_ALGORITHM: Wait queue priority algorithm> help When selected, the wait_q will be implemented with a balanced tree. Choose this if you expect to have many threads waiting on individual primitives. There is a ~2kb code size increase over WAITQ_DUMB (which may be shared with SCHED_SCALABLE) if the rbtree is not used elsewhere in the application, and pend/unpend operations on "small" queues will be somewhat slower (though this is not generally a performance path).
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)