zephyr/kernel
Andy Ross 1129ea9394 kernel/sched: Fix timeslicing predicate
It's possible to interrupt a thread that has already scheduled a
timeout.  Really this is a race against the usage of
_add_thread_timeout() and needs some design work to provide proper
locking (which is a distinct requirement from the scheduler lock and
timeout lock!), as the users of that API are spread around the kernel.
But existing usage always schedules the timeouts first, so this is
safe.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-10-16 15:03:10 -04:00
..
include kernel: Checkpatch fixups 2018-10-16 15:03:10 -04:00
alert.c kernel: Using boolean constants instead of 0 or 1 2018-09-18 13:57:15 -04:00
atomic_c.c
CMakeLists.txt kernel: New timeout implementation 2018-10-16 15:03:10 -04:00
compiler_stack_protect.c
device.c kernel; Checking functions return 2018-09-14 16:55:37 -04:00
errno.c
idle.c kernel/sys_clock: Fix build when !SYS_CLOCK_EXISTS 2018-10-16 15:03:10 -04:00
init.c kernel: move to new logger 2018-10-08 17:49:12 -04:00
int_latency_bench.c
Kconfig kernel/kconfig: Move TICKLESS options out of power management tree 2018-10-16 15:03:10 -04:00
Kconfig.power_mgmt kernel/kconfig: Move TICKLESS options out of power management tree 2018-10-16 15:03:10 -04:00
mailbox.c kernel: Sanitize if else statement according with MISRA-C 2018-09-28 07:58:19 +05:30
mem_domain.c kernel: Using boolean expression on ASSERT macros 2018-09-28 06:28:41 +05:30
mem_slab.c kernel: Explicitly comparing pointer with NULL 2018-09-28 06:28:41 +05:30
mempool.c sys_clock: Fix unsafe tick count usage 2018-10-16 15:03:10 -04:00
msg_q.c kernel: Explicitly comparing pointer with NULL 2018-09-28 06:28:41 +05:30
mutex.c kernel: Using boolean types for boolean constants 2018-09-28 06:28:41 +05:30
pipes.c portability: Avoid void* arithmetics which is a GNU extension 2018-09-28 07:57:28 +05:30
poll.c kernel: Fix overflow test problem introduced in 92ea2f9 2018-10-04 05:20:29 -07:00
queue.c kernel: Compare pointers with NULL in while statements 2018-09-18 13:57:15 -04:00
sched.c kernel/sched: Fix timeslicing predicate 2018-10-16 15:03:10 -04:00
sem.c kernel: Explicitly comparing pointer with NULL 2018-09-28 06:28:41 +05:30
smp.c kernel; Checking functions return 2018-09-14 16:55:37 -04:00
stack.c kernel: Explicitly comparing pointer with NULL 2018-09-28 06:28:41 +05:30
system_work_q.c
thread_abort.c kernel: Using boolean expression on ASSERT macros 2018-09-28 06:28:41 +05:30
thread.c kernel/timeout: Eliminate wait_q parameters from API 2018-10-16 15:03:10 -04:00
timeout.c kernel: New timeout implementation 2018-10-16 15:03:10 -04:00
timer.c kernel: New timeout implementation 2018-10-16 15:03:10 -04:00
userspace_handler.c kernel: Calling Z_SYSCALL_VERIFY_MSG with boolean expressions 2018-09-28 06:28:41 +05:30
userspace.c kernel: move to new logger 2018-10-08 17:49:12 -04:00
version.c
work_q.c kernel/timeout: Refactor API 2018-10-16 15:03:10 -04:00