zephyr/kernel
Andy Ross 15d520819d kernel/timeout: Prepare unification of timeout/thread wait_q fields
The existing timeout API wants to store a wait_q on which the thread
is waiting, but it only uses that value in one spot (and there only as
a boolean flag indicating "this thread is waiting on a wait_q).

As it happens threads can already store their own backpointers to a
wait_q (needed for the SCALABLE scheduler backend), so we should use
that instead.

This patch doesn't actually perform that unification yet.  It
reorgnizes things such that the pended_on field is always set at the
point of timeout interaction, and adds a bunch of asserts to make 100%
sure the logic is correct.  The next patch will modify the API.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-10-16 15:03:10 -04:00
..
include kernel/include: Move stubs for timeout functions to their declarations 2018-10-16 15:03:10 -04:00
alert.c
atomic_c.c
CMakeLists.txt
compiler_stack_protect.c
device.c
errno.c
idle.c kernel/sys_clock: Fix build when !SYS_CLOCK_EXISTS 2018-10-16 15:03:10 -04:00
init.c
int_latency_bench.c
Kconfig clock: Remove CONFIG_TICKLESS_KERNEL_TIME_UNIT_IN_MICRO_SECS 2018-10-16 15:03:10 -04:00
Kconfig.power_mgmt kernel: Remove clock_always_on control from k_busy_wait() 2018-10-16 15:03:10 -04:00
mailbox.c
mem_domain.c
mem_slab.c
mempool.c sys_clock: Fix unsafe tick count usage 2018-10-16 15:03:10 -04:00
msg_q.c
mutex.c
pipes.c
poll.c
queue.c
sched.c kernel/timeout: Prepare unification of timeout/thread wait_q fields 2018-10-16 15:03:10 -04:00
sem.c
smp.c
stack.c
sys_clock.c kernel/timeout: Prepare unification of timeout/thread wait_q fields 2018-10-16 15:03:10 -04:00
system_work_q.c
thread_abort.c
thread.c kernel: Remove clock_always_on control from k_busy_wait() 2018-10-16 15:03:10 -04:00
timer.c
userspace_handler.c
userspace.c
version.c
work_q.c