Added size parameter indicating the maximum number of events in the queue and the corresponding queue capability changes.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagaraha...@linaro.org> --- include/odp/api/spec/queue.h | 12 ++++++++++++ platform/linux-generic/odp_queue.c | 1 + 2 files changed, 13 insertions(+) diff --git a/include/odp/api/spec/queue.h b/include/odp/api/spec/queue.h index 7972fea..ccb6fb8 100644 --- a/include/odp/api/spec/queue.h +++ b/include/odp/api/spec/queue.h @@ -112,6 +112,12 @@ typedef struct odp_queue_capability_t { /** Number of scheduling priorities */ unsigned sched_prios; + /** Maximum number of events in the queue. + * + * Value of zero indicates the size is limited only by the available + * memory in the system. */ + unsigned max_size; + } odp_queue_capability_t; /** @@ -124,6 +130,12 @@ typedef struct odp_queue_param_t { * the queue type. */ odp_queue_type_t type; + /** Queue size + * + * Maximum number of events in the queue. Value of 0 chooses the + * default configuration of the implementation. */ + uint32_t size; + /** Enqueue mode * * Default value for both queue types is ODP_QUEUE_OP_MT. Application diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c index fcf4bf5..5a50a57 100644 --- a/platform/linux-generic/odp_queue.c +++ b/platform/linux-generic/odp_queue.c @@ -175,6 +175,7 @@ int odp_queue_capability(odp_queue_capability_t *capa) capa->max_ordered_locks = sched_fn->max_ordered_locks(); capa->max_sched_groups = sched_fn->num_grps(); capa->sched_prios = odp_schedule_num_prio(); + capa->max_size = 0; return 0; } -- 2.7.4