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:270
Included via Kconfig:8 → Kconfig.zephyr:40
Menu path: (Top) → General Kernel Options → Wait queue priority algorithm
config WAITQ_SCALABLE
    bool "Use scalable wait_q implementation"
    depends on <choice WAITQ_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.)