On Tue, Mar 28, 2017 at 2:23 PM, Brian Brooks <[email protected]> wrote: > Signed-off-by: Brian Brooks <[email protected]> > --- > include/odp/api/spec/queue.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/odp/api/spec/queue.h b/include/odp/api/spec/queue.h > index 7972feac..1cec4773 100644 > --- a/include/odp/api/spec/queue.h > +++ b/include/odp/api/spec/queue.h > @@ -124,6 +124,11 @@ typedef struct odp_queue_param_t { > * the queue type. */ > odp_queue_type_t type; > > + /** Queue size > + * > + * Indicates the max ring size of the ring buffer. */ > + uint32_t ring_size;
ODP queues have historically been of unspecified size. If we're going to introduce the notion of explicitly limited sized queues this has additional implications. First, ring_size is an inappropriate choice of name here since a ring is an implementation model, not a specification. The documentation says "Queue size", so uint32_t size; is sufficient here. We should document that size = 0 requests a queue of default size (which may be unbounded). Second, if we're going to allow a queue size to be specified then this needs to be added as an output to odp_queue_capability() so the application knows the max_size supported (again 0 = unbounded). A larger question, however, is why is this being introduced at all since this field is only used in the modified odph_cuckoo_table_create() helper routine and this, in turn, is only used within the cuckootable test module? This seems an extraneous and unnecessary change and has no relationship to the rest of this patch series. So Parts 1 and 3 of this series don't seem to have anything to do with the scalable scheduler. As a minor point, the order of these needs to be reversed to preserve bisectability since Part 1 can't reference the new field before Part 3 defines it. > + > /** Enqueue mode > * > * Default value for both queue types is ODP_QUEUE_OP_MT. Application > -- > 2.12.1 >
