zephyr/include
Andy Ross 3e696896bf kernel: Add "per thread" timeslice mechanism
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>
2022-03-09 13:49:44 -05:00
..
app_memory
arch arm64: Fix booting issue with FVP V8R >= 11.16.16 2022-03-08 11:09:13 +01:00
audio
bluetooth Bluetooth: PACS: Add PAC record data to pac_notify 2022-03-08 11:08:00 +01:00
canbus canbus: isotp: ensure consecutive frames are sent in FIFO order 2022-02-21 19:37:35 -05:00
console
crypto drivers: crypto: Add multipart hash support 2022-03-01 16:32:43 -05:00
data
debug
devicetree include/devicetree: clocks: Add DT_CLOCKS_HAS_FOO & DT_NUM_CLOCKS 2022-03-07 10:58:47 +01:00
dfu
display drivers: display: grove_lcd_rgb: move to misc 2022-02-22 11:58:33 -08:00
drivers usbc: Add USB TCPC Driver API and support PD structures 2022-03-08 11:08:43 +01:00
dt-bindings drivers: pinctrl: nrf: Add support for SPI and TWI peripherals 2022-03-09 12:05:22 +01:00
fs fs: nvs: introduce nvs_mount and deprecate nvs_init 2022-03-01 12:46:34 +01:00
ipc
kernel kernel: Add "per thread" timeslice mechanism 2022-03-09 13:49:44 -05:00
linker toolchain: drop the old Z_ prefixed iterables macro 2022-02-28 12:19:15 +01:00
logging logging: v2: workaround for old toolchains when !LOG 2022-02-28 10:52:51 +01:00
lorawan
math
mgmt
modbus
multi_heap
net net: remove unmaintained 6LoCAN implementation 2022-03-09 18:07:31 +01:00
pm all: Deprecate UTIL_LISTIFY and replace with LISTIFY 2022-03-08 11:03:30 +01:00
portability
posix include/posix: mark unused variables 2022-03-08 09:36:12 -06:00
random
settings
shell ring_buffer: rationalize the item-based put and get methods 2022-02-24 14:49:00 -08:00
stats
storage
sys include/atomics: doc: Clarify memory barrier behavior 2022-03-09 13:46:06 -05:00
task_wdt
timing
toolchain toolchain: drop the old Z_ prefixed iterables macro 2022-02-28 12:19:15 +01:00
tracing
usb
xen
zephyr
cache.h
device.h
devicetree.h include/devicetree.h: Add DT_PROP_HAS_NAME macro 2022-03-07 10:58:47 +01:00
exc_handle.h
fatal.h
init.h
irq.h
irq_nextlevel.h
irq_offload.h arch: Add IRQ_OFFSET_NESTED feature 2022-02-21 22:10:03 -05:00
kernel.h kernel: Add "per thread" timeslice mechanism 2022-03-09 13:49:44 -05:00
kernel_includes.h
kernel_structs.h kernel: Add "per thread" timeslice mechanism 2022-03-09 13:49:44 -05:00
kernel_version.h
shared_irq.h
smf.h
spinlock.h
sw_isr_table.h
sys_clock.h
syscall.h
syscall_handler.h
timeout_q.h
toolchain.h toolchain: introduce macro TOOLCHAIN_HAS_C_AUTO_TYPE 2022-02-28 10:52:51 +01:00
wait_q.h
zephyr.h