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)
<[email protected] <mailto:[email protected]>> 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:[email protected]
<mailto:[email protected]>]
*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 <[email protected]
<mailto:[email protected]>>
On Thu, Jan 28, 2016 at 7:24 AM, Petri Savolainen
<[email protected] <mailto:[email protected]>>
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
[email protected] <mailto:[email protected]>
https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp