kernel/Kconfig: Reorgnize wait_q and sched algorithm choices

Make these "choice" items instead of a single boolean that implies the
element unset.

Also renames WAITQ_FAST to WAITQ_SCALABLE, as the rbtree is really
only "fast" for large queue sizes (it's constant factor overhead is
bigger than a list's!)

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
Andy Ross 2018-06-27 11:20:50 -07:00 committed by Anas Nashif
commit 225c74bbdf
5 changed files with 67 additions and 28 deletions

View file

@ -73,7 +73,7 @@ extern "C" {
#define K_HIGHEST_APPLICATION_THREAD_PRIO (K_HIGHEST_THREAD_PRIO)
#define K_LOWEST_APPLICATION_THREAD_PRIO (K_LOWEST_THREAD_PRIO - 1)
#ifdef CONFIG_WAITQ_FAST
#ifdef CONFIG_WAITQ_SCALABLE
typedef struct {
struct _priq_rb waitq;
@ -406,7 +406,7 @@ struct _thread_base {
struct rbnode qnode_rb;
};
#ifdef CONFIG_WAITQ_FAST
#ifdef CONFIG_WAITQ_SCALABLE
/* wait queue on which the thread is pended (needed only for
* trees, not dumb lists)
*/