Petri, whom review is needed for that? Maxim.
On 11 April 2017 at 09:29, Savolainen, Petri (Nokia - FI/Espoo) < [email protected]> wrote: > Ping. Spec for queue size and capability. > > > > -----Original Message----- > > From: lng-odp [mailto:[email protected]] On Behalf Of > > Savolainen, Petri (Nokia - FI/Espoo) > > Sent: Friday, April 07, 2017 10:53 AM > > To: [email protected] > > Subject: Re: [lng-odp] [PATCH v3 1/2] api: queue: added queue size param > > > > Ping. > > > > > -----Original Message----- > > > From: lng-odp [mailto:[email protected]] On Behalf Of > > Petri > > > Savolainen > > > Sent: Monday, April 03, 2017 1:11 PM > > > To: [email protected] > > > Subject: [lng-odp] [PATCH v3 1/2] api: queue: added queue size param > > > > > > Added capability information about maximum number of queues > > > and queue sizes. Both are defined per queue type, since > > > plain and scheduled queues may have different implementations > > > (e.g. one uses HW while the other is SW). > > > > > > Added queue size parameter, which specifies how large > > > storage size application requires in minimum. > > > > > > Signed-off-by: Petri Savolainen <[email protected]> > > > --- > > > include/odp/api/spec/queue.h | 35 ++++++++++++++++++++++++++++++++++- > > > 1 file changed, 34 insertions(+), 1 deletion(-) > > > > > > diff --git a/include/odp/api/spec/queue.h > b/include/odp/api/spec/queue.h > > > index 7972fea..9c83322 100644 > > > --- a/include/odp/api/spec/queue.h > > > +++ b/include/odp/api/spec/queue.h > > > @@ -100,7 +100,9 @@ typedef enum odp_queue_op_mode_t { > > > * Queue capabilities > > > */ > > > typedef struct odp_queue_capability_t { > > > - /** Maximum number of event queues */ > > > + /** Maximum number of event queues of any type. Use this in > > > addition to > > > + * queue type specific 'max_num', if both queue types are used > > > + * simultaneously. */ > > > uint32_t max_queues; > > > > > > /** Maximum number of ordered locks per queue */ > > > @@ -112,6 +114,28 @@ typedef struct odp_queue_capability_t { > > > /** Number of scheduling priorities */ > > > unsigned sched_prios; > > > > > > + /** Plain queue capabilities */ > > > + struct { > > > + /** Maximum number of a plain queues. */ > > > + uint32_t max_num; > > > + > > > + /** Maximum number of events a plain queue can store > > > + * simultaneously. The value of zero means > > > unlimited. */ > > > + uint32_t max_size; > > > + > > > + } plain; > > > + > > > + /** Scheduled queue capabilities */ > > > + struct { > > > + /** Maximum number of a scheduled queues. */ > > > + uint32_t max_num; > > > + > > > + /** Maximum number of events a scheduled queue can > > > store > > > + * simultaneously. The value of zero means > > > unlimited. */ > > > + uint32_t max_size; > > > + > > > + } sched; > > > + > > > } odp_queue_capability_t; > > > > > > /** > > > @@ -165,6 +189,15 @@ typedef struct odp_queue_param_t { > > > * The implementation may use this value as a hint for the > > > number of > > > * context data bytes to prefetch. Default value is zero (no > > > hint). */ > > > uint32_t context_len; > > > + > > > + /** Queue size > > > + * > > > + * The queue must be able to store at minimum this many events > > > + * simultaneously. The value must not exceed 'max_size' queue > > > + * capability. The value of zero means implementation specific > > > + * default size. */ > > > + uint32_t size; > > > + > > > } odp_queue_param_t; > > > > > > /** > > > -- > > > 2.8.1 > >
