When adding a new runnable thread in tickless mode, we need to detect whether it will timeslice with the runnable thread and reset the timer, otherwise it won't get any CPU time until the next interrupt fires at some indeterminate time in the future. This fixes the specific bug discussed in #7193, but the broader problem of tickless and timeslicing interacting badly remains. The code as it exists needs some rework to avoid all the #ifdef mess. Note that the patch also moves _ready_thread() from a ksched.h inline to sched.c. Signed-off-by: Andy Ross <andrew.j.ross@intel.com> |
||
|---|---|---|
| .. | ||
| gen_offset.h | ||
| kernel_internal.h | ||
| kernel_offsets.h | ||
| kernel_structs.h | ||
| ksched.h | ||
| kswap.h | ||
| offsets_short.h | ||
| syscall_handler.h | ||
| timeout_q.h | ||
| wait_q.h | ||