3e696896bf
Zephyr's timeslice implementation has always been somewhat primitive. You get a global timeslice that applies broadly to the whole bottom of the priority space, with no ability (beyond that one priority threshold) to tune it to work on certain threads, etc... This adds an (optionally configurable) API that allows timeslicing to be controlled on a per-thread basis: any thread at any priority can be set to timeslice, for a configurable per-thread slice time, and at the end of its slice a callback can be provided that can take action. This allows the application to implement things like responsiveness heuristics, "fair" scheduling algorithms, etc... without requiring that facility in the core kernel. Signed-off-by: Andy Ross <andrew.j.ross@intel.com> |
||
---|---|---|
.. | ||
mempool_heap.h | ||
sched_priq.h | ||
stats.h | ||
thread.h | ||
thread_stack.h |