zephyr/lib
Guennadi Liakhovetski 91d90df2a7 p4wq: add support for per-CPU, per-queue and delayed threads
Currently P4WQ supports queues with sets of user-provided
worked threads of arbitrary numbers. These threads are started
immediately upon initialisation.

This patch adds support for 3 more thread implementation options:

1. queue per thread. It adds a K_P4WQ_ARRAY_DEFINE() macro which
   initialises an array of queues and threads of the same number.
   These threads are then uniquely assigned to respective queues.
2. delayed start. With this option threads aren't started
   immediately upon queue initialisation. Instead a new function
   k_p4wq_enable_static_thread() has to be called to enable those
   threads individually.
3. queue per CPU. With this option the user can assign CPU masks
   to threads when calling k_p4wq_enable_static_thread().
   Otherwise the cpu_mask parameter to that function is ignored.
   Currently enabling this option implies option 2 above. Also so
   far to enable queues per CPU the user has to use
   K_P4WQ_ARRAY_DEFINE(), which means this option also implies 1
   above, but both these restrictions can be relaxed in the
   future if required.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-05-03 17:13:01 -04:00
..
gui lib: gui: lvgl: Fix logging macro usage 2021-04-22 15:29:15 -05:00
libc arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
open-amp
os p4wq: add support for per-CPU, per-queue and delayed threads 2021-05-03 17:13:01 -04:00
posix posix: timer: match implementation to declaration 2021-03-29 07:52:42 -04:00
util lib: add freebsd getopt library 2021-03-01 09:50:32 -05:00
CMakeLists.txt portability: move cmsis APIs to subsys/portability 2021-04-20 08:45:05 -04:00
Kconfig portability: move cmsis APIs to subsys/portability 2021-04-20 08:45:05 -04:00