Zephyr Project API
3.3.0
A Scalable Open Source RTOS
|
RTIO Concurrent Executor. More...
Data Structures | |
struct | rtio_concurrent_executor |
Concurrent Executor. More... | |
Macros | |
#define | RTIO_EXECUTOR_CONCURRENT_DEFINE(name, concurrency) |
Statically define and initialie a concurrent executor. More... | |
Functions | |
int | rtio_concurrent_submit (struct rtio *r) |
Submit to the concurrent executor. More... | |
void | rtio_concurrent_ok (struct rtio *r, const struct rtio_sqe *sqe, int result) |
Report a SQE has completed successfully. More... | |
void | rtio_concurrent_err (struct rtio *r, const struct rtio_sqe *sqe, int result) |
Report a SQE has completed with error. More... | |
RTIO Concurrent Executor.
Provides a concurrent executor with a pointer overhead per task and a 2 word overhead over the simple executor to know the order of tasks (fifo).
#define RTIO_EXECUTOR_CONCURRENT_DEFINE | ( | name, | |
concurrency | |||
) |
#include <include/zephyr/rtio/rtio_executor_concurrent.h>
Statically define and initialie a concurrent executor.
INTERNAL_HIDDEN
name | Symbol name, must be unique in the context in which its used |
concurrency | Allowed concurrency (number of concurrent tasks). |
#include <include/zephyr/rtio/rtio_executor_concurrent.h>
Report a SQE has completed with error.
r | RTIO context to use |
sqe | RTIO SQE to report success |
result | Result of the SQE |
#include <include/zephyr/rtio/rtio_executor_concurrent.h>
Report a SQE has completed successfully.
r | RTIO context to use |
sqe | RTIO SQE to report success |
result | Result of the SQE |
int rtio_concurrent_submit | ( | struct rtio * | r | ) |
#include <include/zephyr/rtio/rtio_executor_concurrent.h>
Submit to the concurrent executor.
r | RTIO context to submit |
0 | always succeeds |