[API-NEXT,0/6] Rename queue types

Message ID 56B0C5AE.3050706@linaro.org
State New
Headers show

Commit Message

Maxim Uvarov Feb. 2, 2016, 3:05 p.m.
On 02/02/2016 16:01, Bill Fischofer wrote:
> i agree.  Best to get these changes out sooner rather than later.
>
> On Tue, Feb 2, 2016 at 6:31 AM, Savolainen, Petri (Nokia - FI/Espoo) 
> <petri.savolainen@nokia.com <mailto:petri.savolainen@nokia.com>> wrote:
>
>     It would be great to get it in v1.7. Otherwise, master and
>     api-next would have lots of conflicting (example/validation) lines
>     and merge would be more difficult in the next release.
>
>     -Petri
>
>
>     > -----Original Message-----
>     > From: lng-odp [mailto:lng-odp-bounces@lists.linaro.org
>     <mailto:lng-odp-bounces@lists.linaro.org>] On Behalf Of EXT
>     > Maxim Uvarov
>     > Sent: Tuesday, February 02, 2016 2:01 PM
>     > To: lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     > Subject: Re: [lng-odp] [API-NEXT PATCH 0/6] Rename queue types
>     >
>     > Petri,
>     >
>     > that looks like also good to go to 1.7. Validation tests should
>     be there
>     > because it's only rename.
>     > What do you think?
>     >
>     > Maxim.
>     >
>     >
>     > On 01/29/2016 19:00, Bill Fischofer wrote:
>     > > Thanks for the further explanation.  Yes, UNSCHED implies a
>     dichotomy
>     > > that may be limiting.  I guess the real distinction is that
>     certain
>     > > queues are managed by ODP while others are managed by the
>     application
>     > > itself (alternately, queues are either system managed, with
>     various
>     > > ODP-defined attributes, or user managed).  I don't suppose either
>     > > ODP_QUEUE_TYPE_APPLICATION or ODP_QUEUE_TYPE_USER appeals?
>     > >
>     > > On Fri, Jan 29, 2016 at 2:12 AM, Savolainen, Petri (Nokia -
>     FI/Espoo)
>     > > <petri.savolainen@nokia.com
>     <mailto:petri.savolainen@nokia.com>
>     <mailto:petri.savolainen@nokia.com
>     <mailto:petri.savolainen@nokia.com>>> wrote:
>     > >
>     > >     I have considered unsched also, but really don’t like that
>     since
>     > >     it would define the queue type by what it is not (instead
>     of what
>     > >     it is). It would be also problematic term, if we’d need to
>     define
>     > >     a third type in the future (e.g. sorted queue, etc).
>     > >
>     > >     This queue type provides the basic (or plain) set of queue
>     > >     features. Also I’d not call it “normal queue”, since sched
>     queue
>     > >     may be the norm for one application and this for another. Term
>     > >     “basic” could have the same problem: e.g. atomic queue
>     maybe the
>     > >     basic queue type for an application. In RFC, I used term
>     “direct
>     > >     queue”, but I’d want to reserve the term “direct” for e.g.
>     “direct
>     > >     pktio” mode and other direct accesses APIs (to other ODP
>     blocks).
>     > >     When these plain (or scheduled) queues are connected to pktio,
>     > >     it’s an in-direction compared to the direct access.
>     > >
>     > >     After these patches the (commonly spoken) terminology would be
>     > >
>     > >     ·Plain queues
>     > >
>     > >     ·Parallel queues
>     > >
>     > >     ·Atomic queues
>     > >
>     > >     ·Ordered queues
>     > >
>     > >     … and potentially in the future
>     > >
>     > >     ·Sorted queues, etc (queues with advanced features) …
>     > >
>     > >     /**
>     > >
>     > >     * Queue create
>     > >
>     > >     *
>     > >
>     > >     * Create a queue according to the queue parameters. Queue
>     type is
>     > >     specified by
>     > >
>     > >     * queue parameter 'type'. Use odp_queue_param_init() to
>     initialize
>     > >     parameters
>     > >
>     > >     * into their default values. *Default values are also used
>     when
>     > >     'param' pointer*
>     > >
>     > >     ** is NULL. The default queue type is ODP_QUEUE_TYPE_PLAIN.*
>     > >
>     > >     *
>     > >
>     > >     * @param name    Queue name
>     > >
>     > >     * @param param   Queue parameters. Uses defaults if NULL.
>     > >
>     > >     *
>     > >
>     > >     * @return Queue handle
>     > >
>     > >     * @retval ODP_QUEUE_INVALID on failure
>     > >
>     > >     */
>     > >
>     > >     odp_queue_t odp_queue_create(const char *name, const
>     > >     odp_queue_param_t *param);
>     > >
>     > >     The default type is already documented. If user sets param
>     to NULL
>     > >     or passes an initialized param (without any changes), the
>     result
>     > >     is the same - the default settings. The type would be PLAIN in
>     > >     both cases.
>     > >
>     > >     -Petri
>     > >
>     > >     *From:*EXT Bill Fischofer
>     [mailto:bill.fischofer@linaro.org <mailto:bill.fischofer@linaro.org>
>     > >     <mailto:bill.fischofer@linaro.org
>     <mailto:bill.fischofer@linaro.org>>]
>     > >     *Sent:* Friday, January 29, 2016 5:21 AM
>     > >     *To:* Savolainen, Petri (Nokia - FI/Espoo)
>     > >     *Cc:* LNG ODP Mailman List
>     > >     *Subject:* Re: [lng-odp] [API-NEXT PATCH 0/6] Rename queue
>     types
>     > >
>     > >     This looks good, however PLAIN doesn't seem very intuitive
>     as it's
>     > >     not descriptive of how the queue behaves. How about simply
>     > >     QUEUE_TYPE_UNSCHED to contrast with QUEUE_TYPE_SCHED?  The
>     real
>     > >     distinction here is whether the ODP scheduler or the
>     application
>     > >     is managing the queue, i.e., whether the queue is scheduled or
>     > >     unscheduled.  Encoding that in the name would make that
>     > >     distinction very clear.  With the move of the type
>     parameter into
>     > >     the odp_queue_param_t struct, omitting this struct on
>     > >     odp_queue_create() would default to creating an
>     unscheduled queue.
>     > >
>     > >     Other than that, for this series:
>     > >
>     > >     Reviewed-and-tested-by: Bill Fischofer
>     <bill.fischofer@linaro.org <mailto:bill.fischofer@linaro.org>
>     > >     <mailto:bill.fischofer@linaro.org
>     <mailto:bill.fischofer@linaro.org>>>
>     > >
>     > >     On Thu, Jan 28, 2016 at 7:24 AM, Petri Savolainen
>     > >     <petri.savolainen@nokia.com
>     <mailto:petri.savolainen@nokia.com>
>     <mailto:petri.savolainen@nokia.com
>     <mailto:petri.savolainen@nokia.com>>>
>     > >     wrote:
>     > >
>     > >         This patch set renames queue types and pktio modes with
>     > >         commonly used and
>     > >         descriptive terms. Type of odp_queue_type_t is defined
>     as enum
>     > >         and included
>     > >         into queue parameters. Queue type and defines
>     parameter usage
>     > >         (which params are
>     > >         considered e.g. in queue creation), and is inline with
>     other
>     > >         create APIs (pool,
>     > >         timer, tm, ...).
>     > >
>     > >         These modifications are preparation for removal of
>     PKTIN and
>     > >         PKOUT queue types,
>     > >         and the single queue pktio API
>     (odp_pktio_inq_setdef(), etc).
>     > >
>     > >
>     > >
>     > >         Petri Savolainen (6):
>     > >           api: sched: rename SCHED_SYNC_NONE to _PARALLEL
>     > >           api: queue: rename QUEUE_TYPE_POLL to _PLAIN
>     > >           api: pktio: rename pktio modes
>     > >           api: queue: define queue type as enum
>     > >           api: queue: moved queue type into queue parameters
>     > >           linux-generic: use term plain queue instead of poll
>     > >
>     > >          example/classifier/odp_classifier.c          | 16 ++--
>     > >          example/generator/odp_generator.c        |  9 ++-
>     > >          example/ipsec/odp_ipsec.c           | 43 ++++++-----
>     > >          example/packet/odp_pktio.c          | 14 ++--
>     > >          example/time/time_global_test.c      |  8 +-
>     > >          example/timer/odp_timer_test.c   |  5 +-
>     > >          include/odp/api/packet_io.h  | 26 +++----
>     > >          include/odp/api/queue.h           | 68 +++++++++-------
>     > >          include/odp/api/schedule_types.h     | 12 +--
>     > > .../linux-generic/include/odp/plat/queue_types.h  |  8 --
>     > > .../include/odp/plat/schedule_types.h           |  2 +-
>     > > platform/linux-generic/odp_packet_io.c          | 37 +++++----
>     > >          platform/linux-generic/odp_queue.c       | 13 +++-
>     > > platform/linux-generic/odp_schedule.c           |  5 +-
>     > >          platform/linux-generic/pktio/loop.c          |  2 +-
>     > > platform/linux-generic/pktio/netmap.c           |  3 +-
>     > >          test/performance/odp_l2fwd.c | 54 ++++++-------
>     > >          test/performance/odp_pktio_perf.c        | 32 ++++----
>     > >          test/performance/odp_scheduling.c        | 20 ++---
>     > > .../classification/odp_classification_common.c    | 11 +--
>     > > .../classification/odp_classification_test_pmr.c  | 13 ++--
>     > > .../classification/odp_classification_tests.c     | 51
>     > >         ++++++------
>     > >          test/validation/crypto/crypto.c      |  3 +-
>     > >          test/validation/pktio/pktio.c    | 90
>     > >         +++++++++++-----------
>     > >          test/validation/pktio/pktio.h    |  4 +-
>     > >          test/validation/queue/queue.c    | 48 ++++++------
>     > > test/validation/scheduler/scheduler.c           | 89
>     > >         +++++++++++----------
>     > >          test/validation/timer/timer.c    |  6 +-
>     > >          28 files changed, 353 insertions(+), 339 deletions(-)
>     > >
>     > >         --
>     > >         2.6.3
>     > >
>     > >  _______________________________________________
>     > >         lng-odp mailing list
>     > > lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     <mailto:lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>>
>     > > https://lists.linaro.org/mailman/listinfo/lng-odp
>     > >
>     > >
>     > >
>     > >
>     > > _______________________________________________
>     > > lng-odp mailing list
>     > > lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     > > https://lists.linaro.org/mailman/listinfo/lng-odp
>     >
>     > _______________________________________________
>     > lng-odp mailing list
>     > lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     > https://lists.linaro.org/mailman/listinfo/lng-odp
>     _______________________________________________
>     lng-odp mailing list
>     lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
>     https://lists.linaro.org/mailman/listinfo/lng-odp
>
>

Patch

--- a/test/validation/pktio/pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -814,7 +814,7 @@  int pktio_check_statistics_counters(void)
         const char *iface = iface_name[0];

         odp_pktio_param_init(&pktio_param);
-       pktio_param.in_mode = ODP_QUEUE_TYPE_SCHED;
+       pktio_param.in_mode = ODP_PKTIN_MODE_SCHED;

         pktio = odp_pktio_open(iface, pool[0], &pktio_param);
         if (pktio == ODP_PKTIO_INVALID)