Re: [lng-odp] [API-NEXT PATCH v2 05/10] linux-gen: pool: reimplement pool with ring

2016-10-21 Thread Bill Fischofer
On Fri, Oct 21, 2016 at 3:36 PM, Bill Fischofer wrote: > > > On Fri, Oct 21, 2016 at 3:25 PM, Bill Fischofer > wrote: > >> >> >> On Fri, Oct 21, 2016 at 6:15 AM, Petri Savolainen < >> petri.savolai...@nokia.com> wrote: >> >>> Used the ring

Re: [lng-odp] [API-NEXT PATCH v2 05/10] linux-gen: pool: reimplement pool with ring

2016-10-21 Thread Bill Fischofer
On Fri, Oct 21, 2016 at 3:25 PM, Bill Fischofer wrote: > > > On Fri, Oct 21, 2016 at 6:15 AM, Petri Savolainen < > petri.savolai...@nokia.com> wrote: > >> Used the ring data structure to implement pool. Also >> buffer structure was simplified to enable future driver >>

Re: [lng-odp] [API-NEXT PATCH v2 05/10] linux-gen: pool: reimplement pool with ring

2016-10-21 Thread Bill Fischofer
On Fri, Oct 21, 2016 at 6:15 AM, Petri Savolainen < petri.savolai...@nokia.com> wrote: > Used the ring data structure to implement pool. Also > buffer structure was simplified to enable future driver > interface. Every buffer includes a packet header, so each > buffer can be used as a packet head

[lng-odp] [PATCH v2 2/2] add travis.yml for gitub automation

2016-10-21 Thread Mike Holmes
allows pushes to a github clone of ODP to automatically trigger CI builds Signed-off-by: Mike Holmes --- .travis.yml | 35 +++ 1 file changed, 35 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new

[lng-odp] [PATCH v2 1/2] configure: the version cannot use a script

2016-10-21 Thread Mike Holmes
Use of a script in the autotools breaks github CI Define the API version in configure and reuse it in the code Benefits: removes dependence on scripts to build removes scripts and the make file from odp/scripts removes generated .scmversion file places api versioning right next to lib versioning

Re: [lng-odp] [API-NEXT PATCHv6 1/5] api: packet: add support for packet splices and references

2016-10-21 Thread Bill Fischofer
On Fri, Oct 21, 2016 at 12:07 PM, Bala Manoharan wrote: > Regards, > Bala > > > On 21 October 2016 at 19:41, Bill Fischofer > wrote: > > > > > > On Fri, Oct 21, 2016 at 8:21 AM, Bala Manoharan < > bala.manoha...@linaro.org> > > wrote: > >> >

Re: [lng-odp] [API-NEXT PATCHv6 1/5] api: packet: add support for packet splices and references

2016-10-21 Thread Bala Manoharan
Regards, Bala On 21 October 2016 at 19:41, Bill Fischofer wrote: > > > On Fri, Oct 21, 2016 at 8:21 AM, Bala Manoharan > wrote: >> >> Regards, >> Bala >> >> >> On 11 October 2016 at 09:15, Bill Fischofer >>

Re: [lng-odp] [PATCH v3 1/5] example: l3fwd: add missing gitignores

2016-10-21 Thread Mike Holmes
On 3 October 2016 at 07:49, Matias Elo wrote: > Signed-off-by: Matias Elo Reviewed-by: Mike Holmes But I wonder if we should at some point ignore these in the root of odp/example and odp/test to save repeating them ? > ---

Re: [lng-odp] [PATCHv3] test: skip pktio_perf tests on 1 and 2 cpus machines

2016-10-21 Thread Mike Holmes
On 14 October 2016 at 07:51, Maxim Uvarov wrote: > Make check should skip the test instead of failing it. > Test splits RX and TX cores for packet processing. Core > 0 bind to control thread. So running machine should have > at least 2 worker threads which is not enough

Re: [lng-odp] [API-NEXT PATCHv6 1/5] api: packet: add support for packet splices and references

2016-10-21 Thread Bill Fischofer
On Fri, Oct 21, 2016 at 8:21 AM, Bala Manoharan wrote: > Regards, > Bala > > > On 11 October 2016 at 09:15, Bill Fischofer > wrote: > > Introduce four new APIs that support efficient sharing of portions of > > packets. > > > >

Re: [lng-odp] [PATCHv3] test: skip pktio_perf tests on 1 and 2 cpus machines

2016-10-21 Thread Maxim Uvarov
please review v3. Maxim. On 10/14/16 14:51, Maxim Uvarov wrote: Make check should skip the test instead of failing it. Test splits RX and TX cores for packet processing. Core 0 bind to control thread. So running machine should have at least 2 worker threads which is not enough on 1 and 2 cpus

Re: [lng-odp] [PATCH 02/10] linux-gen: pktio: do not free zero packets

2016-10-21 Thread Maxim Uvarov
On 10/20/16 14:52, Savolainen, Petri (Nokia - FI/Espoo) wrote: -Original Message- From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of Maxim Uvarov Sent: Wednesday, October 19, 2016 3:49 PM To: lng-odp@lists.linaro.org Subject: Re: [lng-odp] [PATCH 02/10] linux-gen:

Re: [lng-odp] [PATCH 01/10] linux-gen: ipc: disable build of ipc pktio

2016-10-21 Thread Maxim Uvarov
On 10/20/16 15:00, Savolainen, Petri (Nokia - FI/Espoo) wrote: -Original Message- From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of Maxim Uvarov Sent: Wednesday, October 19, 2016 3:59 PM To: lng-odp@lists.linaro.org Subject: Re: [lng-odp] [PATCH 01/10] linux-gen:

Re: [lng-odp] [API-NEXT PATCHv6 1/5] api: packet: add support for packet splices and references

2016-10-21 Thread Bala Manoharan
Regards, Bala On 11 October 2016 at 09:15, Bill Fischofer wrote: > Introduce four new APIs that support efficient sharing of portions of > packets. > > odp_packet_splice() creates a reference to a base packet by splicing a > supplied header packet onto it at a

Re: [lng-odp] [PATCH 1/2] example: odp_timer_simple: decrease timer pool resolution

2016-10-21 Thread Maxim Uvarov
Merged both patches. Second one with my review only. Maxim. On 10/21/16 10:10, Kevin Wang wrote: Reviewed-by: Kevin Wang On 21 October 2016 at 14:17, Yi He wrote: Reply for Kevin Wang to add his review. Best Regards, Yi On 19 July 2016 at 02:29,

Re: [lng-odp] [PATCH v3 1/5] example: l3fwd: add missing gitignores

2016-10-21 Thread Maxim Uvarov
Does somebody review test this? Maxim. On 10/03/16 14:49, Matias Elo wrote: Signed-off-by: Matias Elo --- example/l3fwd/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/example/l3fwd/.gitignore b/example/l3fwd/.gitignore index 74e501f..3411830 100644

Re: [lng-odp] [API-NEXT PATCH] test: drv: shm: decrease test memory requirement

2016-10-21 Thread Maxim Uvarov
Merged, Maxim. On 10/21/16 11:21, Elo, Matias (Nokia - FI/Espoo) wrote: Reviewed-and-tested-by: Matias Elo -Original Message- From: Christophe Milard [mailto:christophe.mil...@linaro.org] Sent: Wednesday, October 19, 2016 5:30 PM To: bill.fischo...@linaro.org;

[lng-odp] [API-NEXT PATCH v2 05/10] linux-gen: pool: reimplement pool with ring

2016-10-21 Thread Petri Savolainen
Used the ring data structure to implement pool. Also buffer structure was simplified to enable future driver interface. Every buffer includes a packet header, so each buffer can be used as a packet head or segment. Segmentation was disabled and segment size was fixed to a large number (64kB) to

[lng-odp] [API-NEXT PATCH v2 09/10] linux-gen: pool: clean up pool inlines functions

2016-10-21 Thread Petri Savolainen
Removed odp_pool_to_entry(), which was a duplicate of pool_entry_from_hdl(). Renamed odp_buf_to_hdr() to buf_hdl_to_hdr(), which describes more accurately the internal function. Inlined pool_entry(), pool_entry_from_hdl() and buf_hdl_to_hdr(), which are used often and also outside of pool.c.

[lng-odp] [API-NEXT PATCH v2 03/10] linux-gen: ring: created common ring implementation

2016-10-21 Thread Petri Savolainen
Moved scheduler ring code into a new header file, so that it can be used also in other parts of the implementation. Signed-off-by: Petri Savolainen --- platform/linux-generic/Makefile.am | 1 + platform/linux-generic/include/odp_ring_internal.h |

[lng-odp] [API-NEXT PATCH v2 10/10] linux-gen: pool: ptr instead of hdl in buffer_alloc_multi

2016-10-21 Thread Petri Savolainen
Improve performance by changing the first parameter of buffer_alloc_multi() to pool pointer (from handle), to avoid double lookup of the pool pointer. Pointer is available for packet alloc calls already. Signed-off-by: Petri Savolainen ---

[lng-odp] [API-NEXT PATCH v2 00/10] pool optimization

2016-10-21 Thread Petri Savolainen
Pool performance is optimized by using a ring as the global buffer storage. IPC build is disabled, since it needs large modifications due to dependency to pool internals. Old pool implementation was based on locks and linked list of buffer headers. New implementation maintain a ring of buffer

[lng-odp] [API-NEXT PATCH v2 06/10] linux-gen: ring: added multi enq and deq

2016-10-21 Thread Petri Savolainen
Added multi-data versions of ring enqueue and dequeue operations. Signed-off-by: Petri Savolainen --- platform/linux-generic/include/odp_ring_internal.h | 65 ++ 1 file changed, 65 insertions(+) diff --git

[lng-odp] [API-NEXT PATCH v2 07/10] linux-gen: pool: use ring multi enq and deq operations

2016-10-21 Thread Petri Savolainen
Use multi enq and deq operations to optimize global pool access performance. Temporary uint32_t arrays are needed since handles are pointer size variables. Signed-off-by: Petri Savolainen --- platform/linux-generic/odp_pool.c | 32 1

[lng-odp] [API-NEXT PATCH v2 04/10] linux-gen: align: added round up power of two

2016-10-21 Thread Petri Savolainen
Added a macro to round up a value to the next power of two, if it's not already a power of two. Also removed duplicated code from the same file. Signed-off-by: Petri Savolainen --- .../linux-generic/include/odp_align_internal.h | 34 +- 1 file

[lng-odp] [API-NEXT PATCH v2 02/10] linux-gen: pktio: do not free zero packets

2016-10-21 Thread Petri Savolainen
In some error cases, netmap and dpdk pktios were calling odp_packet_free_multi with zero packets. Moved existing error check to avoid a free call with zero packets. Signed-off-by: Petri Savolainen --- platform/linux-generic/pktio/dpdk.c | 10 ++

[lng-odp] [API-NEXT PATCH v2 01/10] linux-gen: ipc: disable build of ipc pktio

2016-10-21 Thread Petri Savolainen
IPC pktio implementation depends heavily on pool internals. It's build is disabled due to pool re-implementation. IPC should be re-implemented with a cleaner internal interface towards pool and shm. Signed-off-by: Petri Savolainen ---

Re: [lng-odp] [API-NEXT PATCHv3 05/16] api: shm: add flag to guarantee address unicity on all ODP threads

2016-10-21 Thread Savolainen, Petri (Nokia - FI/Espoo)
Hi, I'll copy all API related comments into this response. Also I'd suggest that the next version has all three API patches merged into one, since those touch the same feature and lines in the file. Single patch is easier to review, find later in commit log and handle during merge, etc. Now

Re: [lng-odp] api-next needs update

2016-10-21 Thread Maxim Uvarov
Done. On 21 October 2016 at 11:21, Savolainen, Petri (Nokia - FI/Espoo) < petri.savolai...@nokia-bell-labs.com> wrote: > Hi, > > Api-next needs a *quick* update to the latest level of master branch. > > There's now about 20 commit gap. For example, "Revert example: generator: > actually use

[lng-odp] api-next needs update

2016-10-21 Thread Savolainen, Petri (Nokia - FI/Espoo)
Hi, Api-next needs a *quick* update to the latest level of master branch. There's now about 20 commit gap. For example, "Revert example: generator: actually use specified default" is not yet on api-next, which breaks 'sudo make check'. Also my pool optimizations cannot be rebased to api-next

Re: [lng-odp] [API-NEXT PATCH] test: drv: shm: decrease test memory requirement

2016-10-21 Thread Elo, Matias (Nokia - FI/Espoo)
Reviewed-and-tested-by: Matias Elo > -Original Message- > From: Christophe Milard [mailto:christophe.mil...@linaro.org] > Sent: Wednesday, October 19, 2016 5:30 PM > To: bill.fischo...@linaro.org; Elo, Matias (Nokia - FI/Espoo) >

Re: [lng-odp] [PATCH 1/2] example: odp_timer_simple: decrease timer pool resolution

2016-10-21 Thread Kevin Wang
Reviewed-by: Kevin Wang On 21 October 2016 at 14:17, Yi He wrote: > Reply for Kevin Wang to add his review. > > Best Regards, Yi > > On 19 July 2016 at 02:29, Brian Brooks wrote: > >> On 07/18 13:41:32, Mike Holmes wrote: >> >

Re: [lng-odp] [PATCH 1/2] example: odp_timer_simple: decrease timer pool resolution

2016-10-21 Thread Yi He
Reply for Kevin Wang to add his review. Best Regards, Yi On 19 July 2016 at 02:29, Brian Brooks wrote: > On 07/18 13:41:32, Mike Holmes wrote: > > Is 10 milliseconds adequate for real work ? > > > > Should this be in some way calculated depending on the platform > >