aboutsummaryrefslogtreecommitdiff
path: root/example/time/time_global_test.c
AgeCommit message (Collapse)Author
2021-09-30use odph_thread_param_init()Jere Leppänen
Use the new odph_thread_param_init() function to initialize odph_thread_param_t. Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-09-30use odph_thread_common_param_init()Jere Leppänen
Use the new odph_thread_common_param_init() function to initialize odph_thread_common_param_t. Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2020-08-25validation: pool: honor max_align capabilityJerin Jacob
Honor the odp_pool_capability_t::buf.max_align attribute while creating the pool. Some implementation chooses to optimize odp_buffer_t handling in such a way that implementation-specific metadata and actual data can be in the same cache-line as a performance optimization while accessing the odp_buffer_t. As a fix, except helpers, let the application uses the default alignment from odp_pool_param_init(). Signed-off-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2019-09-19example: use helper library debug macrosMatias Elo
Use ODP helper library debug macros instead of reimplementing the same functionality in example_debug.h. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2019-06-12example: time: fix deadlock with single workerPetri Savolainen
Random id calculation did get stuck when there's only single worker (as id is always one). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2019-06-12example: time: increase pool sizePetri Savolainen
Since pool implementation may stash buffers per thread, pool size of one buffer per thread is not enough to ensure that every thread can allocate a buffer. Use similar pool size than other multi-threaded test applications. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2019-05-09example: time: use new thread helpersPetri Savolainen
Change to use the new thread create and join helpers. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com>
2018-11-28example: use mem_model from helper optionsMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-05-14helper: thread: don't use getopt libraryPetri Savolainen
Don't use getopt library calls for helper options. Getopt library reset is not portable in practice. Library interface includes global variables and different internal state variables depending on POSIX version. There's no need for helper to use getopt calls or set getopt global variables at all. It's much more simple (and portable) to remove helper options from argv[] and return new value for argc. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-26update Linaro Copyrights to 2018 yearMaxim Uvarov
Using simple commands: find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9]), Linaro/ \1-2018, Linaro/g' {} + find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9])(-201[0-9]), Linaro/ \1-2018, Linaro/g' {} + Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-01-25examples: use odph_api.hMike Holmes
clean up all the examples and just use odph_api.h Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-01-22helper: cleanup Linux rename to threadMike Holmes
Remove the OS specific Linux filename and use the name of the generic apis it contains which is for odp_threads Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-07-05linux-gen: std_types: remove extra c headersPetri Savolainen
Removed C header includes which are not needed for API definitions. ODP API depends on uint64_t, etc types in stdint.h, but not other C headers. As an exception, stdbool.h remains since 'true' and 'false' definitions may be used with odp_bool_t. It could be also removed later since true/false are not part of the API (where as uint64_t, etc types). Application needs to include other C library headers directly. ODP API does not specify which headers are included by odp_api.h. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-05-23example: time: adding helper cmd line parsingChristophe Milard
time now calls the helper command line parsing so that helper can collect its options. Hence enabling process mode run. Signed-off-by: Christophe Milard <christophe.milard@linaro.org> Reviewed-by: Brian Brooks <brian.brooks@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-05-23example: time: using agnostic function for ODP threadsChristophe Milard
time is changed to use the implementation agnostic ODP thread create and join functions, from helpers. time is hence no longer aware on how the odpthread is implemented. Signed-off-by: Christophe Milard <christophe.milard@linaro.org> Reviewed-by: Brian Brooks <brian.brooks@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-04-21api: init: add instance handlePetri Savolainen
Added opaque odp_instance_t handle for storing ODP instance ID. Global init generates instance ID which is used to identify an ODP instance in the system. Instance ID allows to launch multiple separate ODP applications (without name space clash). Application threads define in odp_init_local() call which instance they join. Simultaneously, a thread may belong to only single instance and thus odp_term_local() call does not need instance handle parameter. Currently, linux-generic implementation supports only single instance. Linux helper pthread and process create APIs were updated with instance handle through a new type (odph_linux_thr_param_t). Process API calls were missing thread type selection. A params type decreases number of parameters needed (from 6 to 3 for pthreads) and reduces need for future function prototype changes (if e.g. new parameters need to be added). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-03-04api: move include/odp.h to include/odp_api.hChristophe Milard
odp.h actually describes the applicatiion interface of ODP and is logicaly moved to odp_api.h. Applications now includes <odp_api.h>. This simplifies the addition of other ODP interfaces (e.g. drivers may include odp_drv.h in the future.) Signed-off-by: Christophe Milard <christophe.milard@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-02-08api: queue: moved queue type into queue parametersPetri Savolainen
Added type into queue parameters structure, since the type specifies other parameters usage (e.g. sched params must be filled for SCHED queue type). It's also provides future proof odp_queue_create(), etc function prototype definition. Defined PLAIN as the default type, since it does not require definition of any other queue params (e.g. sched params). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-02-08api: queue: rename QUEUE_TYPE_POLL to _PLAINPetri Savolainen
Term "poll" does not describe queue type accurately. Many resources can be polled. For example, application polls the scheduler to dequeue from "sched" type queues. Term "plain queues" describe better what these queues offer, a plain storage of events which application can directly dequeue (instead of using the scheduler). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-02-08api: sched: rename SCHED_SYNC_NONE to _PARALLELPetri Savolainen
In practice, this type of queues are referred as "parallel queues" instead of "none queues". Also "none" type is quite pessimistic term, since scheduler may perform lots of HW offload also in this mode. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-01-15example: time: add test of global time API on monotonyIvan Khoronzhuk
This test example uses linux helper functions to schedule worker threads in order to check global time monotony between the threads. Each thread receives event from it's own queue, checks global time on correctness, writes in the buffer new current global time, chooses randomly next thread queue, sends event and waits on next event on it's own queue. Using for each thread it's own queue guarantees that event is read by not the same thread that sends it. When global time source is correct the time received with event by a thread must be less than read on the moment of receiving. Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>