Hi Christophe,
> There are Many interresting things in your log:
> First, I think we are exceeding the (currentely 500Mb) limit of shmem
> allocated with singleVA flag set here. In the test 1/3 of the CPU
> allocates 64M, 1/3 allocate 8M and 1/3 8K.
>
> I don't have you settings, but if you don'
On 19 October 2016 at 10:00, Elo, Matias (Nokia - FI/Espoo)
wrote:
>
> Hi Christophe,
>
>> There are Many interresting things in your log:
>> First, I think we are exceeding the (currentely 500Mb) limit of shmem
>> allocated with singleVA flag set here. In the test 1/3 of the CPU
>> allocates 64M,
> >> There are Many interresting things in your log:
> >> First, I think we are exceeding the (currentely 500Mb) limit of shmem
> >> allocated with singleVA flag set here. In the test 1/3 of the CPU
> >> allocates 64M, 1/3 allocate 8M and 1/3 8K.
> >>
> >> I don't have you settings, but if you don'
Fix Bug https://bugs.linaro.org/show_bug.cgi?id=2553 by adding missing
doxygen documentation for the internal macros ODP_ABI_COMPAT and _STATIC.
Signed-off-by: Bill Fischofer
---
.../linux-generic/include/odp/api/plat/static_inline.h.in | 11 +++
1 file changed, 11 insertions(+)
dif
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
---
platform/linux-generic/Makefile.am | 2 --
1 file changed, 2
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 ++
platform/linux-generic/pktio/netmap.c |
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 file changed, 20 insertions(+
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 changed, 7 insertions(+), 27
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 ha
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 a/platform/linux-generic/include/odp_ring_internal.h
b/platform/linu
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
---
platform/linux-generic/include/odp_buffer_internal.h |
Round up global pool allocations to a burst size. Cache any
extra buffers for future use. Prefetch buffers header which
very newly allocated from global pool and will be returned to
the caller.
Signed-off-by: Petri Savolainen
---
.../linux-generic/include/odp_buffer_internal.h| 3 +-
platfo
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 | 109 +
plat
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. Rename
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 lim
https://bugs.linaro.org/show_bug.cgi?id=2553
Bill Fischofer changed:
What|Removed |Added
CC||bill.fischo...@linaro.org
Status|
On 10/19/16 15:09, Petri Savolainen wrote:
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 ++
On 10/19/16 15:09, Petri Savolainen wrote:
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_ri
On 10/19/16 15:09, Petri Savolainen wrote:
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
---
platform/linux-
On 10/19/16 15:09, Petri Savolainen wrote:
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 +
The memory consumption is proporsional to the number of ODP threads
available. The test failed on systems with large number of CPU, due
to outage ot pre-allocaed address space. This patch shrinks the test
requirement.
Signed-off-by: Christophe Milard
---
test/common_plat/validation/drv/drvshmem/
After todays call with Petris patches posted that also break IPC we
came up with a plan.
1. sync api-next / master and make a point release to clear the air
2. merge into api next Christophes and Petris patches that break IPC
3. Maxim will fix IPC
4. make a new point release
On 18 October 2016 at
On 19 October 2016 at 08:09, Bill Fischofer wrote:
> Fix Bug https://bugs.linaro.org/show_bug.cgi?id=2553 by adding missing
> doxygen documentation for the internal macros ODP_ABI_COMPAT and _STATIC.
>
> Signed-off-by: Bill Fischofer
Reviewed-by: Mike Holmes
> ---
> .../linux-generic/include
On Wed, Oct 19, 2016 at 7:09 AM, Petri Savolainen <
petri.savolai...@nokia.com> wrote:
> 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(), poo
Hi Maciej, sorry for the delay in getting a response to you on this. See
inline.
On Thu, Oct 13, 2016 at 6:33 AM, Maciej Czekaj <
maciej.cze...@caviumnetworks.com> wrote:
>
> Guys,
>
> I was going to implement checksum offload for OFP project based on Monarch
> checksum offload capability and I f
since v2:
-some minor changes on the doc (Bill)
-doc for the ODP_SHM_EXPORT flag (Christophe)
-reduction of memory reguirement for shm tests (Mattias)
since v1:
-flag _ODP_SHM_PROC_NOCREAT and _ODP_SHM_O_EXCL get new values
(but remain useless: Should be removed when IPC is updated) (Maxim)
-In
The odp shared_memory API is changed to use the ODP internal memory
allocator: _ishm.
_ishm supports memory sharing between processes, regardless of fork time.
The test testing the ODP_SHM_PROC flag is also changed to cope with the
new OS sharing interface used by _ishm (link in /tmp).
Signed-off-
The ODP_SHM_SINGLE_VA flag is created: when set (at odp_shm_reserve()),
this flag guarantees that all ODP threads sharing this memory
block will see the block at the same address (regadless of ODP
thread type -pthread vs process- or fork time)
Signed-off-by: Christophe Milard
---
include/odp/api
File platform/linux-generic/include/odp_shm_internal.h exposes shm
internals used by IPC. The bits used by the internal flags are moved
to make room for more "official" values.
The platform/linux-generic/include/odp_shm_internal.h file should really
be removed when _ishm is used, but as long as we
A new flag called _ODP_ISHM_LINK is added to _ishm. When this flag is
specified at reserve() time, a link ("/tmp/odp--shm-"
where is the process ID of the main ODP instatiation process and
is the block name given at reserve time) is created, linking
to the underlying block file (either in /tmp or
The ODP_SHM_LOCK flag is created: when set (at odp_shm_reserve()),
this flag locks the reserved memory (prevent swapping)
Signed-off-by: Christophe Milard
---
include/odp/api/spec/shared_memory.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/odp/api/spec/shared_memory.h
b/include/
_ishm.c assumed that both _ishm_init_global() and _ishm_init_local()
had been run to work properly. This assumption turns out the be a problem
if _ishm is to be used as main memory allocator, as many modules
init_global functions assume the availability of the odp_reserve()
function before any init
This flag guarentess the unicity the the block address on all ODP threads.
The patch just exposes the _ODP_ISHM_SINGLE_VA flag of the internal memory
allocator, ishm.
Signed-off-by: Christophe Milard
---
platform/linux-generic/odp_shared_memory.c | 1 +
1 file changed, 1 insertion(+)
diff --git
The flag locks the allocated memory (prevent swapping)
The patch just exposes the _ODP_ISHM_LOCK flag of the internal memory
allocator, ishm.
Signed-off-by: Christophe Milard
---
platform/linux-generic/odp_shared_memory.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/platform/linux-generic
The flag ODP_SHM_EXPORT is added: when passed at odp_shm_reserve() time
the memory block becomes visible to other ODP instances.
The function odp_shm_reserve_exported() is added: this function enables to
reserve block of memories exported by other ODP instances (using the
ODP_SHM_EXPORT flag).
Sig
The shmem "sunnydays" tests for the north interface API are replaced with
proper tests, testing memory allocation at different time (before and
after ODP thread creation, i.e. the tests make sure shmem behaves
the same regardless of fork time). The tests also include stress testing
trying to provoq
Implemented by calling the related functions from _ishm.
Signed-off-by: Christophe Milard
---
platform/linux-generic/odp_shared_memory.c | 37 ++
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/platform/linux-generic/odp_shared_memory.c
b/platform/linu
functionality to export and map memory between ODP instance is added:
This includes:
- a bit of simplification in _odp_ishm_reserve() for externaly provided
file descriptors.
- a new function, _odp_ishm_reserve_exported() to map memory from
other ODP instances (On same OS)
Signed-off-by: Chris
Remaining (forgotten, not freed) blocks are gathered and related files
cleaned when odp_term_global() is called. An error message is also issued
so the application writters get to know about these blocks
Signed-off-by: Christophe Milard
---
platform/linux-generic/_ishm.c | 16
1
Signed-off-by: Christophe Milard
---
doc/users-guide/users-guide.adoc | 68 ++--
1 file changed, 66 insertions(+), 2 deletions(-)
diff --git a/doc/users-guide/users-guide.adoc b/doc/users-guide/users-guide.adoc
index 62f5833..5631e2e 100755
--- a/doc/users-gui
The platform tests odp/test/linux-generic/validation/api/shmem
are updated to both test ODP<->linux process memory sharing, but also test
ODP to ODP (different instances) memory sharing.
shmem_linux is the main test process, and shmem_linux.c contains (at
file top) a chart flow of the test procedur
Signed-off-by: Christophe Milard
---
platform/linux-generic/_ishm.c | 22 --
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/platform/linux-generic/_ishm.c b/platform/linux-generic/_ishm.c
index 11bb316..0c08998 100644
--- a/platform/linux-generic/_ishm.c
+++ b/
Reviewed-by: Brian Brooks
On 10/19 15:09:16, Petri Savolainen wrote:
> 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
On 10/18 11:24:13, Mike Holmes wrote:
> 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
On 10/18 11:24:14, Mike Holmes wrote:
> allows pushes to a github clone of ODP to automatically trigger CI builds
>
> Signed-off-by: Mike Holmes
Reviewed-by: Brian Brooks
> ---
> .travis.yml | 35 +++
> 1 file changed, 35 insertions(+)
> create mode 100644 .tr
On Wed, Oct 19, 2016 at 8:00 AM, Maxim Uvarov
wrote:
> On 10/19/16 15:09, Petri Savolainen wrote:
>
>> 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
>> -
For this series:
Reviewed-and-tested-by: Bill Fischofer
On Fri, Oct 14, 2016 at 3:49 AM, Matias Elo wrote:
> This patch set improves name argument definitions in *_create() functions
> to
> clearly state when NULL is a valid value and when the name string doesn't
> have
> to be unique.
>
> The
For this series:
Reviewed-and-tested-by: Bill Fischofer
On Wed, Oct 19, 2016 at 10:29 AM, Christophe Milard <
christophe.mil...@linaro.org> wrote:
> since v2:
> -some minor changes on the doc (Bill)
> -doc for the ODP_SHM_EXPORT flag (Christophe)
> -reduction of memory reguirement for shm tests
On 19 October 2016 at 20:57, Maxim Uvarov wrote:
> On 10/19/16 15:09, Petri Savolainen wrote:
>
>> 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/Makef
https://bugs.linaro.org/show_bug.cgi?id=2426
--- Comment #6 from Bill Fischofer ---
Marked in Coverity as a false positive. The code is scanning
internally-generated strings that are "known good".
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugs.linaro.org/show_bug.cgi?id=2510
Bill Fischofer changed:
What|Removed |Added
Resolution|--- |FIXED
Status|IN_PROGRESS
Ping. This trivial patch still needs a review.
On Thu, Oct 6, 2016 at 8:09 AM, Maxim Uvarov
wrote:
> ping, please review.
>
> Maxim.
>
>
> On 09/12/16 23:48, Bill Fischofer wrote:
>
>> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing
>> todos in packet validation test. Add ad
52 matches
Mail list logo