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.savolai...@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.fischo...@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.fischo...@linaro.org> > > > > On Thu, Jan 28, 2016 at 7:24 AM, Petri Savolainen < > petri.savolai...@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 > https://lists.linaro.org/mailman/listinfo/lng-odp > > >
_______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp