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

Reply via email to