91d90df2a7
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> |
||
---|---|---|
.. | ||
gui | ||
libc | ||
open-amp | ||
os | ||
posix | ||
util | ||
CMakeLists.txt | ||
Kconfig |