zephyr/kernel/include
Andy Ross 1acd8c2996 kernel: Scheduler rewrite
This replaces the existing scheduler (but not priority handling)
implementation with a somewhat simpler one.  Behavior as to thread
selection does not change.  New features:

+ Unifies SMP and uniprocessing selection code (with the sole
  exception of the "cache" trick not being possible in SMP).

+ The old static multi-queue implementation is gone and has been
  replaced with a build-time choice of either a "dumb" list
  implementation (faster and significantly smaller for apps with only
  a few threads) or a balanced tree queue which scales well to
  arbitrary numbers of threads and priority levels.  This is
  controlled via the CONFIG_SCHED_DUMB kconfig variable.

+ The balanced tree implementation is usable symmetrically for the
  wait_q abstraction, fixing a scalability glitch Zephyr had when many
  threads were waiting on a single object.  This can be selected via
  CONFIG_WAITQ_FAST.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-05-19 07:00:55 +03:00
..
gen_offset.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
kernel_internal.h kernel: internal APIs for thread resource pools 2018-05-16 17:32:59 -07:00
kernel_offsets.h kernel: SMP-aware scheduler 2018-02-16 10:44:29 -05:00
kernel_structs.h kernel: Scheduler rewrite 2018-05-19 07:00:55 +03:00
ksched.h kernel: Scheduler rewrite 2018-05-19 07:00:55 +03:00
kswap.h kernel: Scheduler rewrite 2018-05-19 07:00:55 +03:00
offsets_short.h kernel/arch: streamline thread user options 2017-01-24 13:34:50 +00:00
syscall_handler.h syscalls: remove policy from handler checks 2018-05-17 23:34:03 +03:00
timeout_q.h kernel: Clean up _unpend_thread() API 2018-04-24 03:57:20 +05:30
wait_q.h kernel: Scheduler rewrite 2018-05-19 07:00:55 +03:00