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 kernel: mem_domain: remove extra slash in Z_PROGBITS_SYM 2021-12-05 10:22:26 -05:00
arch arm64: Fix booting issue with FVP V8R >= 11.16.16 2022-03-08 11:09:13 +01:00
audio audio: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
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 drivers: console: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
crypto drivers: crypto: Add multipart hash support 2022-03-01 16:32:43 -05:00
data json: Add top-level array decoding support 2021-12-01 12:21:19 -05:00
debug debug: coredump: allow for coredump backends to be defined outside of tree 2022-01-11 18:17:24 -05:00
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 ipc_service: Extend RPMsg structs and misc fixes 2021-11-22 23:03:23 -05:00
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 math: introduce macro for integer log2 2022-01-11 16:10:53 -05:00
mgmt mcumgr: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
modbus modbus: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
multi_heap multi_heap: Introduce shared multi-heap memory pool manager 2021-10-12 07:44:46 -04:00
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 lib/os: bitarray: introduce SYS_BITARRAY_DEFINE_STATIC() 2021-11-24 14:22:23 -05:00
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 stats: i2c: I2C stats 2021-12-04 07:22:56 -05:00
storage storage/flash_map: Use larger type for alignment 2021-12-30 16:32:02 -05:00
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 Tracing: Fixed TraceRecorder inclusion problem 2022-01-18 14:15:54 -05:00
usb usb: Add macro for user defined string descriptors 2022-02-03 14:57:42 +01:00
xen xenvm: drivers: serial: add interrupt-driven API for Xen PV console 2021-12-07 12:15:38 -05:00
zephyr
cache.h
device.h device: improve (z_)device_is_ready docs 2022-01-07 10:41:23 -05:00
devicetree.h include/devicetree.h: Add DT_PROP_HAS_NAME macro 2022-03-07 10:58:47 +01:00
exc_handle.h
fatal.h fatal: fix missing extern "C" 2021-12-14 11:47:13 -06:00
init.h
irq_nextlevel.h drivers: interrupt_controller: remove @return doc for void funcs 2022-01-12 16:02:16 -05:00
irq_offload.h arch: Add IRQ_OFFSET_NESTED feature 2022-02-21 22:10:03 -05:00
irq.h drivers: interrupt_controller: remove @return doc for void funcs 2022-01-12 16:02:16 -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
kernel.h kernel: Add "per thread" timeslice mechanism 2022-03-09 13:49:44 -05:00
shared_irq.h
smf.h lib: smf: Add State Machine Framework 2021-10-04 20:33:11 -04:00
spinlock.h doc: spinlock: ensure spinlock api is added to doxygen 2022-02-02 08:57:14 -05:00
sw_isr_table.h
sys_clock.h clock: Z_TIMEOUT_NO_WAIT initializer to {0} 2022-01-25 21:17:04 -05:00
syscall_handler.h
syscall.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