[lng-odp] [API-NEXT PATCH v5 6/7] linux-generic: pktio: dummy multi-queue pktio

2015-11-26 Thread Petri Savolainen
Implemented multi-queue API with dummy single queue support. Enables testing the API and provides stubbs for actual multi-queue implementations. Not optimized. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- .../include/odp/plat/packet_io_types.h | 14 +- ...

[lng-odp] [API-NEXT PATCH v5 7/7] test: l2fwd: use multi-queue pktio in direct mode

2015-11-26 Thread Petri Savolainen
Modified the application to support for multiple queues per interface. Enabled inequal worker thread counts. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 413 --- 1 file changed, 351 insertions(

[lng-odp] [API-NEXT PATCH 1/3] api: thrmask: correct specification error

2015-11-20 Thread Petri Savolainen
odp_thread_count_max() returns the maximum number of threads, instead of odp_thrmask_count(). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/thrmask.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/odp/api/thrmask.h b/include/o

[lng-odp] [API-NEXT PATCH 3/3] linux-generic: thread: removed internal max threads define

2015-11-20 Thread Petri Savolainen
Replaced internal define with ODP_THREAD_COUNT_MAX. This fixes also the current make install issue. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/Makefile.am | 1 - .../include/odp/plat/rwlock_recursive_types.h

[lng-odp] [API-NEXT PATCH 2/3] api: thread: added THREAD_COUNT_MAX define

2015-11-20 Thread Petri Savolainen
Added maximum thread count define to enable static memory allocation. The API call returns dynamic maximum. Static and dynamic may be different application is build for binary compatibility. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/th

[lng-odp] [API-NEXT PATCH v4 0/7] Multi-queue packet io APIs

2015-11-20 Thread Petri Savolainen
to control if hashing (or classification) is used for spreading flows to multiple queues Petri Savolainen (7): api: pktio: added pktio capability struct api: pktio: added multiple pktio input queues api: pktio: added direct queue receive api: pktio: added multiple pktio output queues

[lng-odp] [API-NEXT PATCH v4 1/7] api: pktio: added pktio capability struct

2015-11-20 Thread Petri Savolainen
Added capability structure and a function to query it. Capability limits are used for advanced pktio configuration, like configuration of multiple input/output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 23

[lng-odp] [API-NEXT PATCH v4 4/7] api: pktio: added multiple pktio output queues

2015-11-20 Thread Petri Savolainen
Added output queue configuration parameters and functions for setting up multiple output queues. Added also a function to query the number of output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h

[lng-odp] [API-NEXT PATCH v4 5/7] api: pktio: added direct send to pktio output queue

2015-11-20 Thread Petri Savolainen
Added odp_pktio_send_queue for direct packet send to a pktio output queue. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 39 +++ 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH v4 7/7] test: l2fwd: use multi-queue pktio in direct mode

2015-11-20 Thread Petri Savolainen
Modified the application to support for multiple queues per interface. Enabled inequal worker thread counts. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 414 --- 1 file changed, 352 insertions(

[lng-odp] [API-NEXT PATCH v4 2/7] api: pktio: added multiple pktio input queues

2015-11-20 Thread Petri Savolainen
Added input queue configuration parameters and functions to setup multiple input queue and hashing. Added also functions to query the number of queues and queue handles. Direct receive does use new odp_pktin_queue_t handle type. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [API-NEXT PATCH v3 7/7] test: l2fwd: use multi-queue pktio in direct mode

2015-11-19 Thread Petri Savolainen
Modified the application to support for multiple queues per interface. Enabled inequal worker thread counts. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 414 --- 1 file changed, 352 insertions(

[lng-odp] [API-NEXT PATCH v3 6/7] linux-generic: pktio: dummy multi-queue pktio

2015-11-19 Thread Petri Savolainen
Implemented multi-queue API with dummy single queue support. Enables testing the API and provides stubbs for actual multi-queue implementations. Not optimized. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- .../include/odp/plat/packet_io_types.h | 14 +- ...

[lng-odp] [API-NEXT PATCH v3 3/7] api: pktio: added direct queue receive

2015-11-19 Thread Petri Savolainen
Added odp_pktio_recv_queue for direct packet receive from pktio input queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 33 - 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH v3 5/7] api: pktio: added direct send to pktio output queue

2015-11-19 Thread Petri Savolainen
Added odp_pktio_send_queue for direct packet send to a pktio output queue. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 39 +++ 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH v3 0/7] Multi-queue packet io APIs

2015-11-19 Thread Petri Savolainen
for spreading flows to multiple queues Petri Savolainen (7): api: pktio: added pktio capability struct api: pktio: added multiple pktio input queues api: pktio: added direct queue receive api: pktio: added multiple pktio output queues api: pktio: added direct send to pktio output

[lng-odp] [API-NEXT PATCH v3 2/7] api: pktio: added multiple pktio input queues

2015-11-19 Thread Petri Savolainen
Added input queue configuration parameters and functions to setup multiple input queue and hashing. Added also functions to query the number of queues and queue handles. Direct receive does use new odp_pktin_queue_t handle type. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [API-NEXT PATCH v3 1/7] api: pktio: added pktio capability struct

2015-11-19 Thread Petri Savolainen
Added capability structure and a function to query it. Capability limits are used for advanced pktio configuration, like configuration of multiple input/output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 23

[lng-odp] [API-NEXT PATCH v3 4/7] api: pktio: added multiple pktio output queues

2015-11-19 Thread Petri Savolainen
Added output queue configuration parameters and functions for setting up multiple output queues. Added also a function to query the number of output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h

[lng-odp] [API-NEXT PATCH v3] api: atomic: added atomic_lock_free_u64

2015-11-12 Thread Petri Savolainen
init to guide lock vs. lock-free implementation (e.g. if cas_64 is never called, inc_64 can be lock-free). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h| 48 + platform/linux-generic/Makefile.am

[lng-odp] [API-NEXT PATCH v2 0/5] Multi-queue packet io APIs

2015-11-12 Thread Petri Savolainen
term single_thr instead of lock_free * added hash_ena to control if hashing (or classification) is used for spreading flows to multiple queues Petri Savolainen (5): api: pktio: added pktio capability struct api: pktio: added multiple pktio input queues api: pktio: added direct queue

[lng-odp] [API-NEXT PATCH v2 3/5] api: pktio: added direct queue receive

2015-11-12 Thread Petri Savolainen
Added odp_pktio_recv_queue for direct packet receive from pktio input queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 33 - 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio input queues

2015-11-12 Thread Petri Savolainen
Added input queue configuration parameters and functions to setup multiple input queue and hashing. Added also functions to query the number of queues and queue handles. Direct receive does use new odp_pktin_queue_t handle type. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [API-NEXT PATCH v2 1/5] api: pktio: added pktio capability struct

2015-11-12 Thread Petri Savolainen
Added capability structure and a function to query it. Capability limits are used for advanced pktio configuration, like configuration of multiple input/output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 23

[lng-odp] [API-NEXT PATCH v2 5/5] api: pktio: added direct send to pktio output queue

2015-11-12 Thread Petri Savolainen
Added odp_pktio_send_queue for direct packet send to a pktio output queue. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 39 +++ 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH v2] api: atomic: added atomic_lock_free_u64

2015-11-11 Thread Petri Savolainen
init to guide lock vs. lock-free implementation (e.g. if cas_64 is never called, inc_64 can be lock-free). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h| 51 + platform/linux-generic/Makefile.am

[lng-odp] [API-NEXT PATCH 4/5] api: pktio: added multiple pktio output queues

2015-11-06 Thread Petri Savolainen
Added output queue configuration parameters and functions for setting up multiple output queues. Added also odp_pktio_output_queues to query the number of queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.

[lng-odp] [API-NEXT PATCH 5/5] api: pktio: added direct send to pktio output queue

2015-11-06 Thread Petri Savolainen
Added odp_pktio_send_queue for direct packet send to a pktio output queue. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 42 ++ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH 2/5] api: pktio: added multiple pktio input queues

2015-11-06 Thread Petri Savolainen
Added input queue configuration parameters and functions to setup multiple input queue and hashing. Added also odp_pktio_input_queues to query the number of queues and queue handles. Direct receive does not use queue handles, but indexes. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [API-NEXT PATCH 3/5] api: pktio: added direct queue receive

2015-11-06 Thread Petri Savolainen
Added odp_pktio_recv_queue for direct packet receive from pktio input hash queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 36 +++- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/inclu

[lng-odp] [API-NEXT PATCH 1/5] api: pktio: added pktio capability struct

2015-11-06 Thread Petri Savolainen
Added capability structure and a function to query it. Capability limits are used for advanced pktio configuration, like configuration of multiple input/output queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 23

[lng-odp] [API-NEXT PATCH 0/5] *** Multi-queue packet io APIs ***

2015-11-06 Thread Petri Savolainen
(potentially with num_queues == 1). Configuration of multiple packet input and output queues fit better pktio API than e.g. classification API. Classification API should be aligned the new setup. Petri Savolainen (5): api: pktio: added pktio capability struct api: pktio: added multiple pktio

[lng-odp] [API-NEXT RFC 1/2] api: pktio: added input hash parameters

2015-11-03 Thread Petri Savolainen
Added parameters for setting up input hashing during pktio_open and odp_pktio_input_hash_queues to query queue handles. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 60 + 1 file changed, 60 inse

[lng-odp] [API-NEXT RFC 2/2] api: pktio: added direct queue receive

2015-11-03 Thread Petri Savolainen
Added odp_pktio_recv_queue for direct packet receive from pktio input hash queues. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/include/o

[lng-odp] [API-NEXT PATCH 1/2] api: version: added implementation name str

2015-11-02 Thread Petri Savolainen
Refined version API documentation and added implementation name string that can be used to identify the underlying implementation at run time. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/version.h | 47 ++-

[lng-odp] [API-NEXT PATCH 2/2] linux-generic: version: implemented impl name str

2015-11-02 Thread Petri Savolainen
Implemented implementation name string and call it from validation test common. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/odp_version.c | 6 ++ test/validation/common/odp_cunit_common.c | 1 + 2 files changed, 7 insertions(+) diff

[lng-odp] [PATCH v2 5/6] test: l2fwd: increase burst size

2015-10-30 Thread Petri Savolainen
Increased burst size to 32. This improves packet rate about 15% with netmap, since system call rate is halved. No harm to any implementation, since implementation decides how many packets are returned. This is comparable to DPDK l2fwd burst size. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [PATCH v2 6/6] test: l2fwd: separate rx and tx drop counters

2015-10-30 Thread Petri Savolainen
Separated receive and transmit drop counters to help debugging the cause of dropped packets. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 43 +++ 1 file changed, 27 insertions(+), 16 deletions(-)

[lng-odp] [PATCH v2 0/6] l2fwd optimizations

2015-10-30 Thread Petri Savolainen
v2: * corrected funtionality bug in v1. Queue mode used per thread (fixed) destination pktio. * moved pktio start after worker thread create Petri Savolainen (6): test: l2fwd: added option to disable error check test: l2fwd: start pktios after worker thread create test: l2fwd

[lng-odp] [PATCH v2 2/6] test: l2fwd: start pktios after worker thread create

2015-10-30 Thread Petri Savolainen
More controlled startup sequence: * Create and configure pktios * Create and start workers * Enable packet rx and tx Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 20 1 file changed, 12 insertions(+), 8 deletions(-)

[lng-odp] [PATCH v2 3/6] test: l2fwd: optimize queue mode

2015-10-30 Thread Petri Savolainen
as a third mode later. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 64 ++-- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c index 5

[lng-odp] [PATCH 3/5] test: l2fwd: optimize statistics usage

2015-10-29 Thread Petri Savolainen
Allocate cacheline aligned shared memory for per thread statistics and simplify stats pointer references. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 63 1 file changed, 34 insertions(

[lng-odp] [PATCH 2/5] test: l2fwd: optimize queue mode

2015-10-29 Thread Petri Savolainen
as a third mode later. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 65 ++-- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c index 6

[lng-odp] [PATCH 4/5] test: l2fwd: increase burst size

2015-10-29 Thread Petri Savolainen
Increased burst size to 32. This improves packet rate about 15% with netmap, since system call rate is halved. No harm to any implementation, since implementation decides how many packets are returned. This is comparable to DPDK l2fwd burst size. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [PATCH 1/5] test: l2fwd: added option to disable error check

2015-10-29 Thread Petri Savolainen
Added command line option to disable packet error check. Error check requires full packet parse. Max packet rate measurements should be done with minimal feature set. This change gives +10% packet rate increase in direct recv mode with netmap. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [PATCH 5/5] test: l2fwd: separate rx and tx drop counters

2015-10-29 Thread Petri Savolainen
Separated receive and transmit drop counters to help debugging the cause of dropped packets. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- test/performance/odp_l2fwd.c | 43 +++ 1 file changed, 27 insertions(+), 16 deletions(-)

[lng-odp] [API-NEXT PATCH] validation: std_clib: added validation tests

2015-10-29 Thread Petri Savolainen
Added validation tests for ODP std C library API. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- configure.ac | 1 + platform/linux-generic/test/Makefile.am | 1 + test/validation/Makefile.am | 1 + test/validation/st

[lng-odp] [API-NEXT PATCH] api: atomic: added atomic_is_lock_free

2015-10-27 Thread Petri Savolainen
to guide lock vs. lock-free implementation (e.g. if cas_64 is never called, inc_64 can be lock-free). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h| 51 + platform/linux-generic/include/odp/atomic.

[lng-odp] [API-NEXT PATCH v3 6/7] api: atomic: added atomic min and max

2015-10-23 Thread Petri Savolainen
Added atomic min and max operations. These can be used e.g. to maintain high and low water marks of an another atomic counter. These use relaxed memory order. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h

[lng-odp] [API-NEXT PATCH v3 7/7] api: atomic: added 32 bit acquire and release

2015-10-23 Thread Petri Savolainen
Added 32 bit acquire load/cas and release store/add/sub calls. These are the minimum set of non-relaxed calls that are needed for building lock-free algorithms. 64 bit versions can be added later. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/at

[lng-odp] [API-NEXT PATCH v3 4/7] api: atomic: clean atomic API documentation

2015-10-23 Thread Petri Savolainen
Refined and centralized comment about relaxed memory ordering. Removed in/out doxygen tags since 'atom' pointer to an object that application must not directly access (only through the API). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h

[lng-odp] [API-NEXT PATCH v3 1/7] api: doc: remove broken doxygen reference

2015-10-23 Thread Petri Savolainen
Reference caused warning when creating doxygen documentation. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h| 2 +- platform/linux-generic/include/odp/debug.h | 8 2 files changed, 1 insertion(+), 9 deletions(-) diff

[lng-odp] [API-NEXT PATCH v3 3/7] api: doc: re-organize doxygen doc for synchronizer

2015-10-23 Thread Petri Savolainen
Removed module synchronizer from doxygen documentation and introduced new modules for locks, atomics and barriers. Removed unnecessary group tagging from internal headers, which are not visible to doxygen anyway. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/o

[lng-odp] [API-NEXT PATCH v3 2/7] doc: add doxygen layout file to control group page output

2015-10-23 Thread Petri Savolainen
Group level documentation can be used for API level general description. Layout file is needed to place detailed group description on the top of a page. By default doxygen shows only the brief description on top (the first sentence). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [API-NEXT PATCH v3 5/7] api: atomic: added cas operations

2015-10-23 Thread Petri Savolainen
Added cas operations for 32 and 64 bit atomic variables. These use relaxed memory order (as all other operations). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h | 37 ++ platform/linux-generic/inclu

[lng-odp] [API-NEXT PATCH v2] api: pktio: improve pktio_start and stop documentation

2015-10-22 Thread Petri Savolainen
Improved documentation of open, start, stop and close calls. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- v2 * fix typo * modify wordings * add spec for pktio_close include/odp/api/packet_io.h | 28 1 file changed, 28 insertions(+)

[lng-odp] [API-NEXT PATCH v2 4/7] api: atomic: clean atomic API documentation

2015-10-22 Thread Petri Savolainen
Refined and centralized comment about relaxed memory ordering. Removed in/out doxygen tags since 'atom' pointer to an object that application must not directly access (only through the API). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h

[lng-odp] [API-NEXT PATCH v2 3/7] api: doc: re-organize doxygen doc for synchronizer

2015-10-22 Thread Petri Savolainen
Removed module synchronizer from doxygen documentation and introduced new modules for locks, atomics and barriers. Removed unnecessary group tagging from internal headers, which are not visible to doxygen anyway. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/o

[lng-odp] [API-NEXT PATCH v2 7/7] api: atomic: added 32 bit acquire and release

2015-10-22 Thread Petri Savolainen
Added 32 bit acquire load/cas and release store/add/sub calls. These are the minimum set of non-relaxed calls that are needed for building lock-free algorithms. 64 bit versions can be added later. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/at

[lng-odp] [API-NEXT PATCH v2 1/7] api: doc: remove broken doxygen reference

2015-10-22 Thread Petri Savolainen
Reference caused warning when creating doxygen documentation. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h| 2 +- platform/linux-generic/include/odp/debug.h | 8 2 files changed, 1 insertion(+), 9 deletions(-) diff

[lng-odp] [API-NEXT PATCH v2 6/7] api: atomic: added atomic min and max

2015-10-22 Thread Petri Savolainen
Added atomic min and max operations. These can be used e.g. to maintain high and low water marks of an another atomic counter. These use relaxed memory order. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h

[lng-odp] [API-NEXT PATCH v2 5/7] api: atomic: added cas operations

2015-10-22 Thread Petri Savolainen
Added cas operations for 32 and 64 bit atomic variables. These use relaxed memory order (as all other operations). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h | 37 ++ platform/linux-generic/inclu

[lng-odp] [API-NEXT PATCH v2 2/7] doc: add doxygen layout file to control group page output

2015-10-22 Thread Petri Savolainen
Group level documentation can be used for API level general description. Layout file is needed to place detailed group description on the top of a page. By default doxygen shows only the brief description on top (the first sentence). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [PATCH v2] linux-generic: pktio: fill in L2 parse results by default

2015-10-21 Thread Petri Savolainen
Optimize and simplify packet parsing. Fill in L2 metadata allways in packet input. Perform full packet parsing only if other than L2 metadata is requested. Perform parsing only for packets received from the network (disable parsing of user created packets). Signed-off-by: Petri Savolainen

[lng-odp] [API-NEXT PATCH] api: clib: added standard c library api

2015-10-16 Thread Petri Savolainen
Some C library calls are often used in data plane code. This API enables possibility to HW optimized implementation of those. Added first memcpy and memset. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp.h | 1 + include/o

[lng-odp] [API-NEXT PATCH 2/6] doc: add doxygen layout file to control group page output

2015-10-15 Thread Petri Savolainen
Group level documentation can be used for API level general description. Layout file is needed to place detailed group description on the top of a page. By default doxygen shows only the brief description on top (the first sentence). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.

[lng-odp] [API-NEXT PATCH 6/6] api: atomic: added 32 bit acquire and release

2015-10-15 Thread Petri Savolainen
Added 32 bit acquire load/cas and release store/add/sub calls. These are the minimum set of non-relaxed calls that are needed for building lock-free algorithms. 64 bit versions can be added later. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/at

[lng-odp] [API-NEXT PATCH 1/6] api: doc: remove broken doxygen reference

2015-10-15 Thread Petri Savolainen
Reference caused warning when creating doxygen documentation. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h| 2 +- platform/linux-generic/include/odp/debug.h | 8 2 files changed, 1 insertion(+), 9 deletions(-) diff

[lng-odp] [API-NEXT PATCH 5/6] api: atomic: added cas operations

2015-10-15 Thread Petri Savolainen
Added cas operations for 32 and 64 bit atomic variables. These use relaxed memory order (as all other operations). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h| 37 + platform/linux-generic/inclu

[lng-odp] [API-NEXT PATCH 4/6] api: atomic: clean atomic API documentation

2015-10-15 Thread Petri Savolainen
Refined and centralized comment about relaxed memory ordering. Removed in/out doxygen tags since 'atom' pointer to an object that application must not directly access (only through the API). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/atomic.h

[lng-odp] [API-NEXT PATCH 3/6] api: doc: re-organize doxygen doc for synchronizer

2015-10-15 Thread Petri Savolainen
Removed module synchronizer from doxygen documentation and introduced new modules for locks, atomics and barriers. Removed unnecessary group tagging from internal headers, which are not visible to doxygen anyway. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/o

[lng-odp] [PATCH] linux-generic: pktio: fill in L2 parse results by default

2015-10-12 Thread Petri Savolainen
Optimize and simplify packet parsing. Fill in L2 metadata allways in packet input. Perform full packet parsing only if other than L2 metadata is requested. Perform parsing only for packets received from the network (disable parsing of user created packets). Signed-off-by: Petri Savolainen

[lng-odp] [API-NEXT PATCH] api: pktio: improve pktio_start and stop documentation

2015-10-05 Thread Petri Savolainen
Improved documentation of open, start and stop calls. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/packet_io.h | 15 +++ 1 file changed, 15 insertions(+) diff --git a/include/odp/api/packet_io.h b/include/odp/api/packet_io.h index d8e69ed..f

[lng-odp] [PATCH v2] linux-generic: pktio: enable classifier only when needed

2015-09-28 Thread Petri Savolainen
Packet input does not call packet_classifier function when there are no cos (pmr, default cos or l2/l3 table) set for the pktio interface. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- .../linux-generic/include/odp_packet_io_internal.h | 10 +++ platform/linux-g

[lng-odp] [PATCH] linux-generic: pktio: enable classifier only when needed

2015-09-18 Thread Petri Savolainen
Skip packet_classifier function as long as there's no pmr set for an pktio interface. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/include/odp_packet_io_internal.h | 10 ++ platform/linux-generic/odp_classification.c

[lng-odp] [PATCH] checkpatch: allow comparison to NULL

2015-09-15 Thread Petri Savolainen
Allow comparison to NULL since ODP API calls may return NULL and test applications should be able to compare against that, instead of forced to compare against 0 (!ptr). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- .checkpatch.conf | 1 + 1 file changed, 1 insertion(+)

[lng-odp] [API-NEXT PATCH v3 3/3] api: config: removed ODP_CONFIG_MAX_THREADS

2015-09-15 Thread Petri Savolainen
New thread API call odp_thread_count_max() replaces the preprocessor macro in the API. A macro is still used internally. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/config.h | 5 --- .../linux-generic/include/od

[lng-odp] [API-NEXT PATCH v3 1/3] api: init: added thread count params

2015-09-15 Thread Petri Savolainen
-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/init.h | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/include/odp/api/init.h b/include/odp/api/init.h index 0683d8d..737ff6d 100644 --- a/include/odp/api/init.h +++ b/include/o

[lng-odp] [API-NEXT PATCH v3 2/3] api: thread: added thread count max

2015-09-15 Thread Petri Savolainen
Maximum thread count is needed for preparation to remove ODP_CONFIG_MAX_THREADS. It can be used e.g. to allocate resources per thread ID. Thread IDs range from 0 to count_max - 1. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/thread.h

[lng-odp] [API-NEXT PATCH v2 1/3] api: init: added thread count params

2015-09-11 Thread Petri Savolainen
-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/init.h | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/include/odp/api/init.h b/include/odp/api/init.h index 0683d8d..d327305 100644 --- a/include/odp/api/init.h +++ b/include/o

[lng-odp] [API-NEXT PATCH v2 3/3] api: config: removed ODP_CONFIG_MAX_THREADS

2015-09-11 Thread Petri Savolainen
New thread API call odp_thread_count_max() replaces the preprocessor macro in the API. A macro is still used internally. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/config.h | 5 --- .../linux-generic/include/od

[lng-odp] [API-NEXT PATCH v3 2/2] api: rwlock_recursive: added recursive rwlock

2015-09-09 Thread Petri Savolainen
-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp.h | 1 + include/odp/api/rwlock_recursive.h | 94 ++ platform/linux-generic/Makefile.am | 4 + .../include/odp/plat/rwlock_recursive_t

[lng-odp] [API-NEXT PATCH v3 1/2] api: spinlock_recursive: added recursive spinlock

2015-09-09 Thread Petri Savolainen
Applications can use recursive spinlocks to avoid deadlock from single thread acquiring the same lock multiple times. Recursive locks are used in legacy applications. ODP version of recursive spinlock enable porting of those applications. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [API-NEXT PATCH v2 0/5] CPU cycle count API

2015-09-08 Thread Petri Savolainen
Raw CPU cycle count API is needed for measuring CPU cycle consumption. This can replace many of the odp_time_cycles() when time API moves to real time from CPU cycles. v2: * corrected comparison in diff * code style changes in patch 5 Petri Savolainen (5): api: cpu: added cpu cycle count

[lng-odp] [API-NEXT PATCH v2 1/5] api: cpu: added cpu cycle count API

2015-09-08 Thread Petri Savolainen
Raw CPU cycle counts can be used to measure performance in CPU cycles. These functions will replace some usage of odp_time_cycles() of odp_time_diff_cycles(). Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp/api/cpu.

[lng-odp] [API-NEXT PATCH v2 3/5] linux-generic: cpu: rename time_cycles to cpu_cycles

2015-09-08 Thread Petri Savolainen
Implemented odp_cpu_cycles() be renaming odp_time_cycles() implementation. Time implementation uses odp_cpu_cycles temporarely. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/arch/linux/odp_cpu_cycles.c | 4 ++-- platform/linux-generic/arch/

[lng-odp] [API-NEXT PATCH v2 4/5] linux-generic: cpu: implementation for cycle count API

2015-09-08 Thread Petri Savolainen
Added implementation for CPU cycle diff, max and resolution. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/Makefile.am | 1 + platform/linux-generic/arch/linux/odp_cpu_cycles.c | 10 ++ platform/linux-generic/arch/

[lng-odp] [API-NEXT PATCH 2/5] linux-generic: cpu: created arch depedent cpu_cycles files

2015-09-07 Thread Petri Savolainen
Renamed time_cycles files to cpu_cycles, since those files implement cpu cycle counter read needed by cpu API but not needed by new time API. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/Makefile.am | 8 ++--- platform/linux-g

[lng-odp] [API-NEXT PATCH 3/5] linux-generic: cpu: rename time_cycles to cpu_cycles

2015-09-07 Thread Petri Savolainen
Implemented odp_cpu_cycles() be renaming odp_time_cycles() implementation. Time implementation uses odp_cpu_cycles temporarely. Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com> --- platform/linux-generic/arch/linux/odp_cpu_cycles.c | 4 ++-- platform/linux-generic/arch/

[lng-odp] [API-NEXT PATCH 0/5] CPU cycle count API

2015-09-07 Thread Petri Savolainen
Raw CPU cycle count API is needed for measuring CPU cycle consumption. This can replace many of the odp_time_cycles() when time API moves to real time from CPU cycles. Petri Savolainen (5): api: cpu: added cpu cycle count API linux-generic: cpu: created arch depedent cpu_cycles files

[lng-odp] [API-NEXT PATCH 1/2] api: spinlock_recursive: added recursive spinlock

2015-08-31 Thread Petri Savolainen
Applications can use recursive spinlocks to avoid deadlock from single thread acquiring the same lock multiple times. Recursive locks are used in legacy applications. ODP version of recursive spinlock enable porting of those applications. Signed-off-by: Petri Savolainen <petri.savo

[lng-odp] [API-NEXT PATCH 2/2] api: rwlock_recursive: added recursive rwlock

2015-08-31 Thread Petri Savolainen
-by: Petri Savolainen <petri.savolai...@nokia.com> --- include/odp.h | 1 + include/odp/api/rwlock_recursive.h | 86 ++ platform/linux-generic/Makefile.am | 4 + .../include/odp/plat/rwlock_recursive_t

[lng-odp] [API-NEXT PATCH v2] api: reclock: added recursive lock

2015-07-03 Thread Petri Savolainen
Applications can use recursive locks to avoid deadlock from single thread acquiring the same lock multiple times. Recursive locks are commonly used by legacy applications. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp.h | 1

[lng-odp] [API-NEXT PATCH] api: reclock: added recursive lock

2015-07-03 Thread Petri Savolainen
Applications can use recursive locks to avoid deadlock from single thread acquiring the same lock multiple times. Recursive locks are commonly used by legacy applications. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp.h | 1

[lng-odp] [API-NEXT PATCH 1/2] api: pktio: rename pktio_input_mode enum

2015-07-03 Thread Petri Savolainen
We have decided to standardize enum naming to typedef _t, renamed the enum according to that. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/packet_io.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/odp/api/packet_io.h b/include

[lng-odp] [API-NEXT PATCH 2/2] api: pktio: added output mode

2015-07-03 Thread Petri Savolainen
Added pktio parameter to select packet output mode. Left out default output queue option, since it may disappear when TM is integrated. Can be added later if still needed. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/packet_io.h | 16 ++-- 1 file

[lng-odp] [API-NEXT PATCH 01/11] api: sched: removed SYNC_DEFAULT

2015-07-02 Thread Petri Savolainen
User should pick a synchronisation method and use SYNC_NONE if does not need synchronization. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/queue.h | 5 - platform/linux-generic/include/odp/plat/queue_types.h | 2 -- platform

[lng-odp] [API-NEXT PATCH 02/11] api: sched: clarify usage of PRIO_DEFAULT

2015-07-02 Thread Petri Savolainen
Default prio is used when priority scheduling is not important. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/queue.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/odp/api/queue.h b/include/odp/api/queue.h index bdda845..10bac16

[lng-odp] [API-NEXT PATCH 10/11] api: sched: added schedule prefetch

2015-07-02 Thread Petri Savolainen
This is a hint to the scheduler for prefetching more events. Performance is improved when scheduler may prefetch events in parallel to application finishing processing of previous events. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/schedule.h | 14

[lng-odp] [API-NEXT PATCH 09/11] api: sched: added release ordered

2015-07-02 Thread Petri Savolainen
For performance optimization user can allow ordered context release as soon as the last enqueue which needs ordering support is finished. Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/schedule.h | 17 + 1 file changed, 17 insertions(+) diff --git

<    3   4   5   6   7   8   9   10   11   >