zephyr/include
Andy Ross d2eadfa162 lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based
This adds a somewhat special purpose IPC mechanism.  It's intended for
applications which have a "work queue" like architecture of discrete
callback items, but which need the ability to schedule those items
independently in separate threads across multiple CPUs.  So P4 Work
items:

1. Can run at any Zephyr scheduler priority and with any deadline
   (this feature assumes EDF scheduling is enabled)

2. Can be submitted at any time and from any context, including being
   resubmitted from within their own handler.

3. Will preempt any lower priority work as soon as they are runnable,
   according to the standard rules of Zephyr priority scheduling.

4. Run from a pool of worker threads that can be allocated efficiently
   (i.e. you need as many as the number of CPUs plus the number of
   preempted in-progress items, but no more).

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-15 11:35:50 -05:00
..
app_memory kernel: move thread definitions to thread.h 2021-01-13 18:18:42 -05:00
arch linker: arm: Add cortex_m itcm section 2021-01-15 14:51:20 +01:00
audio device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
bluetooth Bluetooth: host: direction: Add public API to set CTE TX enable for adv 2021-01-14 15:26:32 +01:00
canbus subsys: canopen: Add a wrapper to avoid passing device to CO_init 2020-09-02 13:48:13 +02:00
cmsis_rtos_v1
cmsis_rtos_v2
console device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
crypto device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
data doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
debug debug: analyzer: add support for thread runtime stats 2020-12-14 13:00:47 -05:00
devicetree fs: provide access to DT-defined mount structures 2020-12-27 18:16:20 +01:00
dfu modules: introduce MCUBOOT_BOOTUTIL module 2021-01-14 18:03:38 +01:00
disk device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
display device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
drivers drivers/dma: stm32: Preparation for QSPI DMA mode support 2021-01-15 10:29:30 -05:00
dt-bindings drivers: pwm: add API for capturing pwm pulse width and period 2021-01-12 19:43:06 +01:00
fs fs: provide access to DT-defined mount structures 2020-12-27 18:16:20 +01:00
kernel kernel: move thread definitions to thread.h 2021-01-13 18:18:42 -05:00
linker lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based 2021-01-15 11:35:50 -05:00
logging doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
lorawan lorawan,lora: fix C++ compilation/linking errors 2020-10-15 11:08:07 +02:00
mgmt doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
net kernel: Remove CONFIG_LEGACY_TIMEOUT_API 2021-01-14 21:33:16 -05:00
posix include/posix: fix extern "C" placement 2020-10-13 10:05:30 -05:00
power power: Add notifier API 2021-01-07 12:40:19 -05:00
random
settings
shell shell: internal api update in shell.h 2021-01-14 12:07:25 +01:00
stats
storage storage/flash_map: Added function for get erased byte value 2020-10-30 15:53:38 +01:00
sys lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based 2021-01-15 11:35:50 -05:00
timing timing: do not repeatedly do init()/start()/stop() 2020-11-11 23:55:49 -05:00
toolchain sparc: Add compiler and linker tool support 2020-11-13 14:53:55 -08:00
tracing tracing: trace mutex/semaphore using dedicated calls 2020-08-24 13:21:12 +02:00
usb doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
zephyr zephyr: introduce z_max_align_t 2020-11-17 11:44:16 +02:00
cache.h
device.h device: Remove DEVICE_DT_DECLARE / DEVICE_DT_INST_DECLARE 2021-01-15 07:16:21 -06:00
devicetree.h dts: Add _OR variant macro for DT_PROP_LEN 2021-01-10 12:43:08 -05:00
ec_host_cmd.h include: remove enum build assert 2020-10-02 11:44:39 +02:00
emul.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
exc_handle.h
fatal.h
generated_dts_board.h
init.h device: deprecate DEVICE_AND_API_INIT 2021-01-12 08:31:12 -06:00
irq_nextlevel.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
irq_offload.h irq: Change offload API to take a constant parameter 2020-09-02 13:48:13 +02:00
irq.h irq: Change dynamic API to take a constant parameter 2020-09-02 13:48:13 +02:00
kernel_includes.h kernel: move thread definitions to thread.h 2021-01-13 18:18:42 -05:00
kernel_structs.h power: standarize PM Kconfigs and cleanup 2020-12-09 15:18:29 -05:00
kernel_version.h
kernel.h kernel/sched: Optimize deadline comparison 2021-01-15 11:35:50 -05:00
mempool_heap.h kernel: Remove z_mem_pool wrapper internals 2020-12-07 21:50:14 -05:00
ptp_clock.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
sched_priq.h
shared_irq.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
spinlock.h Revert "kernel: fix usage of KERNEL_COHERENCE macro" 2020-12-08 14:27:27 -05:00
sw_isr_table.h irq: Change dynamic API to take a constant parameter 2020-09-02 13:48:13 +02:00
sys_clock.h kernel: Remove CONFIG_LEGACY_TIMEOUT_API 2021-01-14 21:33:16 -05:00
syscall_handler.h kernel: Cleanup logger setup in kernel files 2020-11-27 09:56:34 -05:00
syscall.h
timeout_q.h kernel: timer: update _timeout API for const correctness 2020-10-02 11:29:14 +02:00
toolchain.h ARC: toolchain: handle difference in macros for MWDT and ARC GNU 2020-09-05 10:22:56 -05:00
wait_q.h
zephyr.h