kernel: Add the old "multi queue" scheduler algorithm as an option

Zephyr 1.12 removed the old scheduler and replaced it with the choice
of a "dumb" list or a balanced tree.  But the old multi-queue
algorithm is still useful in the space between these two (applications
with large-ish numbers of runnable threads, but that don't need fancy
features like EDF or SMP affinity).  So add it as a
CONFIG_SCHED_MULTIQ option.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
Andy Ross 2018-06-28 10:38:14 -07:00 committed by Anas Nashif
commit 9f06a35450
5 changed files with 106 additions and 19 deletions

View file

@ -71,10 +71,12 @@ struct _ready_q {
struct k_thread *cache;
#endif
#ifdef CONFIG_SCHED_DUMB
#if defined(CONFIG_SCHED_DUMB)
sys_dlist_t runq;
#else
#elif defined(CONFIG_SCHED_SCALABLE)
struct _priq_rb runq;
#elif defined(CONFIG_SCHED_MULTIQ)
struct _priq_mq runq;
#endif
};