Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|