zephyr/include/sys
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
..
__assert.h
arch_interface.h doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
atomic.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
base64.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
byteorder.h sys: byteorder: Fix incorrect shift in sys_get_be48/le48 2020-09-21 11:17:59 +02:00
cbprintf.h lib: cbprintf: remove cbprintf_arglen 2021-01-07 14:02:06 +01:00
check.h
crc.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
device_mmio.h mmu: rename z_mem_map to z_phys_map 2020-12-16 08:55:55 -05:00
dlist.h
errno_private.h kernel: support using thread local storage for errno 2020-10-24 10:52:00 -07:00
fdtable.h net: getsockname: Call via vtable instead of ioctl 2020-08-14 09:47:51 -07:00
kobject.h kernel: userspace: aligned memory allocation for dynamic objects 2021-01-13 09:43:55 -08:00
libc-hooks.h arm: cortex_m: add support for thread local storage 2020-10-24 10:52:00 -07:00
list_gen.h
math_extras_impl.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
math_extras.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mem_manage.h mmu: rename z_mem_map to z_phys_map 2020-12-16 08:55:55 -05:00
mutex.h include: sys: use C linkage 2020-10-22 07:49:07 -05:00
notify.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
onoff.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
p4wq.h lib/os: P4 Work Queue: Pooled Parallel Preemptible Priority-based 2021-01-15 11:35:50 -05:00
printk.h lib/os: replace z_vprintk with cbprintf 2020-11-13 06:38:01 -05:00
rb.h
ring_buffer.h lib: os: ring_buffer: Cleaning checkpatch warnings 2020-11-11 13:17:49 +01:00
sem.h linker: add iterable section macros 2020-06-24 17:09:22 -04:00
sflist.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
slist.h
speculation.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sys_heap.h lib/os/heap: Add sys_heap_realloc() 2020-12-07 21:50:14 -05:00
sys_io.h sys_io: Expand the API to 64bits read/write functions 2020-12-08 09:29:20 -05:00
thread_stack.h doc: add kernel stack macros to stack apis 2020-12-18 12:18:50 +01:00
time_units.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
timeutil.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
util_internal.h sys/util: fix macro support when building with C++ 2020-08-12 16:39:37 -05:00
util_macro.h doc: fix reference/util after sys/util.h split 2020-11-10 15:40:31 +01:00
util.h sys: util: add BIT64_MASK 2020-11-13 06:38:01 -05:00