|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
Optional offload of an element's work onto shared worker threads. More...
Files | |
| file | mpipe_workqueue.h |
| Shared P4WQ pool for element-level work parallelism. | |
Variables | |
| struct k_p4wq *const | mpipe_p4wq |
| Shared mpipe P4WQ pool instance. | |
Optional offload of an element's work onto shared worker threads.
By default an element does its work on whichever thread pushed the buffer into it, so a chain runs end to end on the pipeline thread. An element with work worth parallelizing can instead submit it to this shared pool and let a worker run it, which is what allows several elements to progress at once on an SMP target.
The pool is a Zephyr P4WQ, so a work item carries its own priority and deadline rather than inheriting a fixed queue priority. It exists only when CONFIG_MPIPE_WORKQUEUE is enabled.
|
extern |
#include <mpipe_workqueue.h>
Shared mpipe P4WQ pool instance.
A process-wide P4WQ pool shared by all elements that need to parallelize internal work.