This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, api-next has been updated
via f0d6c01a0fb51904d5dd049be8402531ec185dcc (commit)
from 10f2f857f6a38c89afff6bdfcc932e18e49ca9a2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f0d6c01a0fb51904d5dd049be8402531ec185dcc
Author: Christophe Milard <christophe.milard(a)linaro.org>
Date: Fri Nov 25 15:39:33 2016 +0100
linux-gen: _fdserver: request sigterm if parent dies
_fdserver now request SIGTERM if parent process (ODP instantiation
process) dies, hence avoiding it to become orphan and reattached to the
init process.
Signed-off-by: Christophe Milard <christophe.milard(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/_fdserver.c b/platform/linux-generic/_fdserver.c
index 41a630b..9aed7a9 100644
--- a/platform/linux-generic/_fdserver.c
+++ b/platform/linux-generic/_fdserver.c
@@ -41,6 +41,8 @@
#include <odp_internal.h>
#include <odp_debug_internal.h>
#include <_fdserver_internal.h>
+#include <sys/prctl.h>
+#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@@ -622,6 +624,10 @@ int _odp_fdserver_init_global(void)
/* TODO: pin the server on appropriate service cpu mask */
/* when (if) we can agree on the usage of service mask */
+ /* request to be killed if parent dies, hence avoiding */
+ /* orphans being "adopted" by the init process... */
+ prctl(PR_SET_PDEATHSIG, SIGTERM);
+
/* allocate the space for the file descriptor<->key table: */
fd_table = malloc(FDSERVER_MAX_ENTRIES * sizeof(fdentry_t));
if (!fd_table) {
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/_fdserver.c | 6 ++++++
1 file changed, 6 insertions(+)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The annotated tag, v1.12.0.0 has been created
at 953fcfa24571d1da9901e262c3fe92ecd796c343 (tag)
tagging 4cfe988cc6e0667928c23a4715eeac8a301396ac (commit)
replaces v1.11.0.0_monarch
tagged by Maxim Uvarov
on Fri Dec 2 18:26:02 2016 +0300
- Log -----------------------------------------------------------------
== OpenDataPlane (1.12.0.0)
=== New Features
==== APIs
ODP v1.12.0.0 has no API changes from previous v1.11.0 Monarch LTS. Version
is increased in current development release to make room for Monarch updates
numbers.
==== Application Binary Interface (ABI) Support
Support is added to enable ODP applications to be binary compatible across
different implementations of ODP sharing the same Instruction Set Architecture
(ISA). This support introduces a new `configure` option:
`no abi disable option`::
This is the default and specifies that the ODP library is to be built to
support ABI compatibility mode. In this mode ODP APIs are never inlined. ABI
compatibility ensures maximum application portability in cloud environments.
`--disable-abi-compat`::
Specify this option to enable the inlining of ODP APIs. This may result in
improved performance at the cost of ABI compatibility and is suitable for
applications running in embedded environments.
Note that ODP applications retain source code portability between ODP
implementations regardless of the ABI mode chosen. To move to a different ODP
application running on a different ISA, code need simply be recompiled against
that target ODP implementation.
==== SCTP Parsing Support
The ODP classifier adds support for recognizing Stream Control Transmission
Protocol (SCTP) packets. The APIs for this were previously not implemented.
=== Packaging and Implementation Refinements
==== Remove dependency on Linux headers
ODP no longer has a dependency on Linux headers. This will help make the
odp-linux reference implementation more easily portable to non-Linux
environments.
==== Remove dependency on helpers
The odp-linux implementation has been made independent of the helper library
to avoid circular dependency issues with packaging. Helper functions may use
ODP APIs, however ODP implementations should not use helper functions.
==== Reorganization of `test` directory
The `test` directory has been reorganized to better support a unified approach
to ODP component testing. API tests now live in
`test/common_plat/validation/api` instead of the former
`test/validation`. With this change performance and validation tests, as well
as common and platform-specific tests can all be part of a unified test
hierarchy.
The resulting test tree now looks like:
.New `test` directory hierarchy
-----
test
├── common_plat
│ ├── common
│ ├── m4
│ ├── miscellaneous
│ ├── performance
│ └── validation
│ └── api
│ ├── atomic
│ ├── barrier
│ ├── buffer
│ ├── classification
│ ├── cpumask
│ ├── crypto
│ ├── errno
│ ├── hash
│ ├── init
│ ├── lock
│ ├── packet
│ ├── pktio
│ ├── pool
│ ├── queue
│ ├── random
│ ├── scheduler
│ ├── shmem
│ ├── std_clib
│ ├── system
│ ├── thread
│ ├── time
│ ├── timer
│ └── traffic_mngr
├── linux-generic
│ ├── m4
│ ├── mmap_vlan_ins
│ ├── performance
│ ├── pktio_ipc
│ ├── ring
│ └── validation
│ └── api
│ ├── pktio
│ └── shmem
└── m4
-----
==== Pools
The maximum number of pools that may be created in the odp-linux reference
implementation has been raised from 16 to 64.
==== Upgrade to DPDK 16.07
The DPDK pktio support in odp-linux has been upgraded to work with DPDK 16.07.
A number of miscellaneous fixes and performance improvements in this support
are also present.
==== PktIO TAP Interface Classifier Support
Packet I/O interfaces operating in TAP mode now can feed packets to the ODP
classifier the same as other pktio modes can do.
=== Performance Improvements
==== Burst-mode buffer allocation
The scheduler and pktio components have been reworked to use burst-mode
buffer allocation/deallocation, yielding a measurable performance gain in
almost all cases.
==== Burst-mode queue operations
ODP queues internally now attempt to use burst-mode enq/deq operations to
accelerate performance where applicable.
==== Ring-based Scheduler Priority Queues
The ODP scheduler has been enhanced to use ring-based priority queues, resulting
in significantly better scalability in many core environments.
==== GitHub Automation Support
ODP now supports the Travis framework needed to trigger CI automation in
conjunction with GitHub. This support is considered experimental for now.
=== Examples
==== New `l3fwd` Example
A new example application is provided that illustrates use
of ODP for simple Layer 3 forwarding across multiple interfaces.
=== Documentation
==== Pure API Documentation
ODP now generates "pure" (implementation independent) doxygen documentation in
addition to the specific documentation for the odp-linux implementation. The
pure version is applicable to any ODP implementation as it simply describes
the ODP API specification. Implementation-specific versions of this
documentation describe both the APIs as well as specifics concerning typedefs,
enums, etc. This should help clarify what aspects of ODP are platform
independent.
==== Clarify ODP Thread Definition
The definition of an ODP thread in odp-linux has been clarified to specify that
for this implementation ODP threads are Linux pthreads or Linux processes.
Currently threads as processes is considered experimental in odp-linux.
=== Bug Fixes
Numerous refinements have been incorporated to make
validation tests more robust in API coverage as well as correcting corner
cases in the implementation of many ODP APIs. Notable fixes include:
==== https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316]
`ODP_TIMEOUT_INVALID` is now defined consistently with other pool elements so
the restriction on using Pool 0 as a timer pool is removed.
==== https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310]
The `odp_packet_copy()` API now correctly handles user areas between pools that
are configured with different sized per-packet user area definitions.
==== https://bugs.linaro.org/show_bug.cgi?id=2571[Bug 2571]
Corrects the implementation of AES GCM decryption in the ODP crypto API.
=== Known Issues
==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309]
The Timer validation test fails sporadically in environments with high core
counts.
Anders Roxell (1):
linux-gen: Makefile: Move EXTRA_DIST to to platform/Makefile.inc
Balasubramanian Manoharan (1):
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Barry Spinney (3):
api: tm: resolve todo
linux-generic: tm: made tm thread creation more flexible
linux-generic: tm: fix off by 1 bug accessing queue_num_tbl
Bill Fischofer (10):
validation: tm: use strncmp() to avoid potential string overrun
doc: release-guide: elaborate release naming scheme
linux-generic: tm: handle pktout queue check properly
test: performance: capture termination failures in final return code
linux-generic: configure: add conditional shared library support
linux-generic: make: fix distribution build for inlines.h
linux-generic: ticketlock: add missing doxygen for ticketlock_inlines.h
linux-generic: config: add missing doxygen documentation for abi macros
linux-generic: packet: add fall through comments to parser
changelog: summary of changes for odp v1.12.0.0
Brian Brooks (4):
linux-generic: internal cache line size
timers: fix off by one tick in timer expiration processing
example: odp_timer_simple: decrease timer pool resolution
timer: add missing atomic decrement
Christophe Milard (9):
validation: diverse cosmetic fixes for checkpatch
validation: moving api validation tests to prepare for new interfaces
test: restructuring platform-specific tests to allow other interface
doc: implementers guide update with the new structure
test: update in readme file
linux-gen: doc: defining the ODP thread
linux-gen: using ODP instantiation pid as odp instance
linux-gen: packet_io: handling term_global while in CLOSE_PENDING
performance: odp_pktio_perf: adding missing term functions
Juha Mattila (1):
linux-gen: tap: add classifier support
Khalil Blaiech (1):
helper: fixing helper prefix in chksum.c
Matias Elo (20):
linux-gen: pool: optimize thread local buffer cache
linux-gen: pktio: use multi alloc
linux-gen: netmap: use multi alloc/free
performance: odp_scheduling: use multi alloc/free buffer functions
linux-gen: dpdk: bump target dpdk version to 16.07
linux-gen: dpdk: free used mempool when closing pktio device
linux-gen: dpdk: fix buffer freeing in mbuf_to_pkt()
linux-gen: dpdk: bulk alloc mbufs in tx
linux-gen: dpdk: move rx/tx locks
test: perf: add new scheduling latency test
test: sched_latency: add test script
linux-gen: packet: enable parsing only selected packet header layers
linux-gen: packet: parse only required packet header layers
linux-gen: packet: identify sctp packets
example: l3fwd: add missing gitignores
example: l3fwd: optimize ip checksum update
example: l3fwd: make packet error check optional
example: l3fwd: remove unnecessary output arguments
example: l3fwd: simplify worker main loop
example: l3fwd: prevent possible use of uninitialised variables
Maxim Uvarov (24):
linux-gen: fix odp_pool_print
api: system: specify default huge page size
linux-gen: fix possible overflow in pktio ipc code
linux-gen: test add termination path for ipc pktio test
linux-gen: do not init scheduler context on termination
example: odp_l2fwd place readme with symlink
test: linux-gen: ipc do not use pid -1 value
linux-gen: socket mmap remove todo
example: l2fwd_simple add termination path
example: l3fwd: fix clang build
Revert "example: generator: actually use specified default"
linux-gen: pktio: ipc: remove todos
test: skip pktio_perf tests on 1 and 2 cpus machines
Revert "test: skip pktio_perf tests on 1 and 2 cpus machines"
test: skip pktio_perf tests on 1 and 2 cpus machines
fix out of tree build
linux-gen: crypto: fix aes gcm decryption
linux-generic: add vlan insertion test
test: linux-gen: mmap_vlan_ins change bin to test programs
travis: linux-gen: add dpdk pktio
Merge tag 'v1.11.0.0_monarch'
test: linux-gen: fix termination in mmap_vlan_ins
configure.ac: disable shared library for non abi compat mode
configure.ac update version numbers
Mike Holmes (10):
example: odp_traffic_mgmt: remove unused includes
doc: implimenters: fix spelling
test:linux-generic: run odp_scheduling in process mode
doc: release-guide: add LTS details
test: perf: add prime num threads to odp_scheduling
example: generator: actually use specified default
example: generator: actually use specified default
configure: the version cannot use a script
add travis.yml for gitub automation
travis.yml: add coverity support
Nikhil Agarwal (2):
example:ipsec: removed invalid todos.
api:crypto: resolve todo items
Oriol Arcas (1):
linux-generic: pool: set maximum number of pools to 64
Petri Savolainen (15):
linux-gen: sched: keep scheduling over empty queues
test: l2fwd: remove wait time from sched mode
linux-gen: sched: ring based priority queues
linux-gen: sched: ring based pktio command queues
linux-gen: sched: increase number of pktin
linux-gen: sched: pktio poll loop optimization
linux-gen: sched: increase max dequeue batch size
linux-gen: sched: call schedule_release_atomic directly
linux-gen: queue: reuse enq_ and deq_multi
linux-gen: queue: burst enq and deq
linux-gen: ticketlock: inline ticketlock implementation
linux-gen: queue: use inlined ticketlock
linux-gen: pool: use inlined ticketlock
linux-gen: config: increase burst sizes
linux-gen: build: de-couple abi compatibility from shared lib
Xuelin Shi (4):
example: introducing l3fwd
example/l3fwd: add test script
example/l3fwd: enhance flow lookup performance in hash
linux-generic: fix ISO C compiling issue with -Werror=pedantic
-----------------------------------------------------------------------
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 4cfe988cc6e0667928c23a4715eeac8a301396ac (commit)
from 290b6f6464a81d65333657dfff7922203614748c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4cfe988cc6e0667928c23a4715eeac8a301396ac
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Nov 30 23:32:53 2016 +0300
configure.ac update version numbers
Update numbers for .so and add short description.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index b460a65..3e89b0a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.5])
# Set correct API version
##########################################################################
m4_define([odpapi_generation_version], [1])
-m4_define([odpapi_major_version], [11])
+m4_define([odpapi_major_version], [12])
m4_define([odpapi_minor_version], [0])
m4_define([odpapi_point_version], [0])
m4_define([odpapi_version],
@@ -28,12 +28,20 @@ AC_CONFIG_MACRO_DIR([m4])
AM_SILENT_RULES([yes])
##########################################################################
-# Set correct platform library version
+# Set platform library version
+#
+# Follow version rules described here:
+# https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info…
+# Version is Current:Revision:Age
+# 1. if there are only source changes, use C:R+1:A
+# 2. if interfaces were added use C+1:0:A+1
+# 3. if interfaces were removed, then use C+1:0:0
##########################################################################
-ODP_LIBSO_VERSION=111:0:0
+
+ODP_LIBSO_VERSION=112:0:0
AC_SUBST(ODP_LIBSO_VERSION)
-ODPHELPER_LIBSO_VERSION=110:0:1
+ODPHELPER_LIBSO_VERSION=110:1:1
AC_SUBST(ODPHELPER_LIBSO_VERSION)
# Checks for programs.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, api-next has been updated
via a70fa333ebb25a8331bd203440fbe81bf84946b1 (commit)
from b5781eeee0fa56710ea865e67f47ad9b3656b955 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a70fa333ebb25a8331bd203440fbe81bf84946b1
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Wed Nov 30 17:08:48 2016 -0600
linux-generic: pool: reset origin_qe on buffer allocation
Resolve bug https://bugs.linaro.org/show_bug.cgi?id=2622 by
re-initializing origin_qe to NULL when a buffer is allocated. This step
was omitted in the switch to ring pool allocation introduced in
commit ID c8cf1d87783d4b4c628f219803b78731b8d4ade4
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-and-tested-by: Yi He <yi.he(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index 4be3827..8c38c93 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -588,6 +588,7 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
uint32_t mask, i;
pool_cache_t *cache;
uint32_t cache_num, num_ch, num_deq, burst;
+ odp_buffer_hdr_t *hdr;
ring = &pool->ring.hdr;
mask = pool->ring_mask;
@@ -608,8 +609,13 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
}
/* Get buffers from the cache */
- for (i = 0; i < num_ch; i++)
+ for (i = 0; i < num_ch; i++) {
buf[i] = cache->buf[cache_num - num_ch + i];
+ hdr = buf_hdl_to_hdr(buf[i]);
+ hdr->origin_qe = NULL;
+ if (buf_hdr)
+ buf_hdr[i] = hdr;
+ }
/* If needed, get more from the global pool */
if (odp_unlikely(num_deq)) {
@@ -629,9 +635,11 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
uint32_t idx = num_ch + i;
buf[idx] = (odp_buffer_t)(uintptr_t)data[i];
+ hdr = buf_hdl_to_hdr(buf[idx]);
+ hdr->origin_qe = NULL;
if (buf_hdr) {
- buf_hdr[idx] = buf_hdl_to_hdr(buf[idx]);
+ buf_hdr[idx] = hdr;
/* Prefetch newly allocated and soon to be used
* buffer headers. */
odp_prefetch(buf_hdr[idx]);
@@ -648,11 +656,6 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
cache->num = cache_num - num_ch;
}
- if (buf_hdr) {
- for (i = 0; i < num_ch; i++)
- buf_hdr[i] = buf_hdl_to_hdr(buf[i]);
- }
-
return num_ch + num_deq;
}
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_pool.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 290b6f6464a81d65333657dfff7922203614748c (commit)
via 2f78516616ba40cfa316c739816ef34ef7924a49 (commit)
from 783ca69b2f6e1ce1d7e2b2e2774d4d475a12cf10 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 290b6f6464a81d65333657dfff7922203614748c
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Nov 29 19:32:35 2016 +0300
changelog: summary of changes for odp v1.12.0.0
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/CHANGELOG b/CHANGELOG
index 1d652a8..17afe44 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,180 @@
+== OpenDataPlane (1.12.0.0)
+
+=== New Features
+
+==== APIs
+ODP v1.12.0.0 has no API changes from previous v1.11.0 Monarch LTS. Version
+is increased in current development release to make room for Monarch updates
+numbers.
+
+==== Application Binary Interface (ABI) Support
+Support is added to enable ODP applications to be binary compatible across
+different implementations of ODP sharing the same Instruction Set Architecture
+(ISA). This support introduces a new `configure` option:
+
+`no abi disable option`::
+This is the default and specifies that the ODP library is to be built to
+support ABI compatibility mode. In this mode ODP APIs are never inlined. ABI
+compatibility ensures maximum application portability in cloud environments.
+
+`--disable-abi-compat`::
+Specify this option to enable the inlining of ODP APIs. This may result in
+improved performance at the cost of ABI compatibility and is suitable for
+applications running in embedded environments.
+
+Note that ODP applications retain source code portability between ODP
+implementations regardless of the ABI mode chosen. To move to a different ODP
+application running on a different ISA, code need simply be recompiled against
+that target ODP implementation.
+
+==== SCTP Parsing Support
+The ODP classifier adds support for recognizing Stream Control Transmission
+Protocol (SCTP) packets. The APIs for this were previously not implemented.
+
+=== Packaging and Implementation Refinements
+
+==== Remove dependency on Linux headers
+ODP no longer has a dependency on Linux headers. This will help make the
+odp-linux reference implementation more easily portable to non-Linux
+environments.
+
+==== Remove dependency on helpers
+The odp-linux implementation has been made independent of the helper library
+to avoid circular dependency issues with packaging. Helper functions may use
+ODP APIs, however ODP implementations should not use helper functions.
+
+==== Reorganization of `test` directory
+The `test` directory has been reorganized to better support a unified approach
+to ODP component testing. API tests now live in
+`test/common_plat/validation/api` instead of the former
+`test/validation`. With this change performance and validation tests, as well
+as common and platform-specific tests can all be part of a unified test
+hierarchy.
+
+The resulting test tree now looks like:
+
+.New `test` directory hierarchy
+-----
+test
+├── common_plat
+│ ├── common
+│ ├── m4
+│ ├── miscellaneous
+│ ├── performance
+│ └── validation
+│ └── api
+│ ├── atomic
+│ ├── barrier
+│ ├── buffer
+│ ├── classification
+│ ├── cpumask
+│ ├── crypto
+│ ├── errno
+│ ├── hash
+│ ├── init
+│ ├── lock
+│ ├── packet
+│ ├── pktio
+│ ├── pool
+│ ├── queue
+│ ├── random
+│ ├── scheduler
+│ ├── shmem
+│ ├── std_clib
+│ ├── system
+│ ├── thread
+│ ├── time
+│ ├── timer
+│ └── traffic_mngr
+├── linux-generic
+│ ├── m4
+│ ├── mmap_vlan_ins
+│ ├── performance
+│ ├── pktio_ipc
+│ ├── ring
+│ └── validation
+│ └── api
+│ ├── pktio
+│ └── shmem
+└── m4
+-----
+
+==== Pools
+The maximum number of pools that may be created in the odp-linux reference
+implementation has been raised from 16 to 64.
+
+==== Upgrade to DPDK 16.07
+The DPDK pktio support in odp-linux has been upgraded to work with DPDK 16.07.
+A number of miscellaneous fixes and performance improvements in this support
+are also present.
+
+==== PktIO TAP Interface Classifier Support
+Packet I/O interfaces operating in TAP mode now can feed packets to the ODP
+classifier the same as other pktio modes can do.
+
+=== Performance Improvements
+
+==== Burst-mode buffer allocation
+The scheduler and pktio components have been reworked to use burst-mode
+buffer allocation/deallocation, yielding a measurable performance gain in
+almost all cases.
+
+==== Burst-mode queue operations
+ODP queues internally now attempt to use burst-mode enq/deq operations to
+accelerate performance where applicable.
+
+==== Ring-based Scheduler Priority Queues
+The ODP scheduler has been enhanced to use ring-based priority queues, resulting
+in significantly better scalability in many core environments.
+
+==== GitHub Automation Support
+ODP now supports the Travis framework needed to trigger CI automation in
+conjunction with GitHub. This support is considered experimental for now.
+
+=== Examples
+
+==== New `l3fwd` Example
+A new example application is provided that illustrates use
+of ODP for simple Layer 3 forwarding across multiple interfaces.
+
+=== Documentation
+
+==== Pure API Documentation
+ODP now generates "pure" (implementation independent) doxygen documentation in
+addition to the specific documentation for the odp-linux implementation. The
+pure version is applicable to any ODP implementation as it simply describes
+the ODP API specification. Implementation-specific versions of this
+documentation describe both the APIs as well as specifics concerning typedefs,
+enums, etc. This should help clarify what aspects of ODP are platform
+independent.
+
+==== Clarify ODP Thread Definition
+The definition of an ODP thread in odp-linux has been clarified to specify that
+for this implementation ODP threads are Linux pthreads or Linux processes.
+Currently threads as processes is considered experimental in odp-linux.
+
+=== Bug Fixes
+Numerous refinements have been incorporated to make
+validation tests more robust in API coverage as well as correcting corner
+cases in the implementation of many ODP APIs. Notable fixes include:
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316]
+`ODP_TIMEOUT_INVALID` is now defined consistently with other pool elements so
+the restriction on using Pool 0 as a timer pool is removed.
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310]
+The `odp_packet_copy()` API now correctly handles user areas between pools that
+are configured with different sized per-packet user area definitions.
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2571[Bug 2571]
+Corrects the implementation of AES GCM decryption in the ODP crypto API.
+
+=== Known Issues
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309]
+The Timer validation test fails sporadically in environments with high core
+counts.
+
== OpenDataPlane (1.11.0.0)
ODP v1.11.0 is the base tag and branch for the Monarch LTS (Long Term Support)
release of ODP.
commit 2f78516616ba40cfa316c739816ef34ef7924a49
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue Nov 29 19:32:34 2016 +0300
configure.ac: disable shared library for non abi compat mode
original configure.ac enables abi compat mode by default,
even without --enable-abi-compat provided. And has broken
logic to disable abi compat mode. Correct logic to build abi
compat mode and option to disable it. Shared library is not
needed for non abi compat mode, so turn it off.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index be5a292..b460a65 100644
--- a/configure.ac
+++ b/configure.ac
@@ -241,13 +241,11 @@ ODP_CFLAGS="$ODP_CFLAGS -DODP_DEBUG=$ODP_DEBUG"
ODP_ABI_COMPAT=1
abi_compat=yes
AC_ARG_ENABLE([abi-compat],
- [ --enable-abi-compat build all targets in ABI compatible mode (default=yes)],
- [if test "x$enableval" = "xyes"; then
- ODP_ABI_COMPAT=1
- abi_compat=yes
- else
+ [ --disable-abi-compat disables ABI compatible mode, enables inline code in header files],
+ [if test "x$enableval" = "xno"; then
ODP_ABI_COMPAT=0
abi_compat=no
+ enable_shared=no
fi])
AC_SUBST(ODP_ABI_COMPAT)
@@ -336,6 +334,7 @@ AC_MSG_RESULT([
static libraries: ${enable_static}
shared libraries: ${enable_shared}
ABI compatible: ${abi_compat}
+ ODP_ABI_COMPAT: ${ODP_ABI_COMPAT}
cunit: ${cunit_support}
test_vald: ${test_vald}
test_perf: ${test_perf}
-----------------------------------------------------------------------
Summary of changes:
CHANGELOG | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 9 ++-
2 files changed, 181 insertions(+), 5 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, api-next has been updated
via b5781eeee0fa56710ea865e67f47ad9b3656b955 (commit)
via b8693f93ee8aa586af5f39111195506d9a826c8a (commit)
via 783ca69b2f6e1ce1d7e2b2e2774d4d475a12cf10 (commit)
from ecf6f8e63c7da7ad020dd3179481d98b86e676f9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b5781eeee0fa56710ea865e67f47ad9b3656b955
Author: Christophe Milard <christophe.milard(a)linaro.org>
Date: Tue Nov 29 15:45:49 2016 +0100
test: drvshm: removing invalid test
The test trying to free a unallocated address is now erroneous since
ODP is using ishm too: unknown drvshm addresses may well be valid ODP
addresses, in which case the test frees someone else memory!
The test is simply suppressed.
Signed-off-by: Christophe Milard <christophe.milard(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/common_plat/validation/drv/drvshmem/drvshmem.c b/test/common_plat/validation/drv/drvshmem/drvshmem.c
index 559c55d..0247a03 100644
--- a/test/common_plat/validation/drv/drvshmem/drvshmem.c
+++ b/test/common_plat/validation/drv/drvshmem/drvshmem.c
@@ -135,8 +135,6 @@ void drvshmem_test_basic(void)
shared_test_data->foo = TEST_SHARE_FOO;
shared_test_data->bar = TEST_SHARE_BAR;
- CU_ASSERT(odpdrv_shm_free_by_address((char *)shared_test_data - 1) < 0);
-
thrdarg.numthrds = odp_cpumask_default_worker(&unused, 0);
if (thrdarg.numthrds > MAX_WORKERS)
commit b8693f93ee8aa586af5f39111195506d9a826c8a
Merge: ecf6f8e 783ca69
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Nov 30 16:51:57 2016 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
-----------------------------------------------------------------------
Summary of changes:
test/common_plat/validation/drv/drvshmem/drvshmem.c | 2 --
test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 783ca69b2f6e1ce1d7e2b2e2774d4d475a12cf10 (commit)
from e819c669f474bba418c5897b6cdcf945da25c75e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 783ca69b2f6e1ce1d7e2b2e2774d4d475a12cf10
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Fri Nov 25 17:06:02 2016 +0300
test: linux-gen: fix termination in mmap_vlan_ins
exit variable has to be volatile to be visible from thread. Without
that background process is not killed with default optimization level.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c b/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c
index 0682d2d..b91eb53 100644
--- a/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c
+++ b/test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c
@@ -19,7 +19,7 @@
#define MAX_PKT_BURST 32
#define MAX_WORKERS 1
-static int exit_thr;
+static volatile int exit_thr;
static int g_ret;
struct {
-----------------------------------------------------------------------
Summary of changes:
test/linux-generic/mmap_vlan_ins/mmap_vlan_ins.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, api-next has been updated
via ecf6f8e63c7da7ad020dd3179481d98b86e676f9 (commit)
via e819c669f474bba418c5897b6cdcf945da25c75e (commit)
via 21ddf9b672ed6dd4254d4df1b1a414cb73306833 (commit)
via dd4fce83fe3168e7cc1ca9ae8ecbea0da2665de2 (commit)
via 020c91ca5367e971cbfc493c5b92f65ec72a43e7 (commit)
via 90ac2ecbf8aec6d4f876d161b3844c199527c33e (commit)
via 9b29422bde38980e66c8474546727433ce5c2995 (commit)
via 01fc389137187cabd79a9e87319cd6c462cc6015 (commit)
via ab57009c2ddcc6ddeb0c180ce8800ebbf723ac8f (commit)
via 9c8ab9126181e5457f5711075b97ca9ec9a20fc8 (commit)
via 9ad380fa0a113b90e26518b7d659213f05264841 (commit)
via b3b97530679ed0fe6f975986270a3fa7d4c59a72 (commit)
via 99117760f8bed0d8351c35a2c037e288d5a9280a (commit)
via a560c609e78716421e782aa388805937d177ef0e (commit)
via 524987a32f9873e59ce265ffba6e831e756a2441 (commit)
via ab966018496e7ebb0d1532d6c5c119b9db7d56fa (commit)
from ef13af84fb6e8649679b06585bec9dead71cfbe5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ecf6f8e63c7da7ad020dd3179481d98b86e676f9
Merge: ef13af8 e819c66
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue Nov 29 19:33:09 2016 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 42 +++++++--
CHANGELOG | 122 ++++++++++++++++++++++++++
configure.ac | 2 +-
platform/linux-generic/odp_packet_io.c | 6 +-
platform/linux-generic/odp_traffic_mngr.c | 3 +
test/common_plat/performance/odp_pktio_perf.c | 3 +
test/linux-generic/mmap_vlan_ins/Makefile.am | 2 +-
7 files changed, 171 insertions(+), 9 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via e819c669f474bba418c5897b6cdcf945da25c75e (commit)
from 21ddf9b672ed6dd4254d4df1b1a414cb73306833 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e819c669f474bba418c5897b6cdcf945da25c75e
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Fri Nov 18 13:34:22 2016 -0500
travis.yml: add coverity support
Enables static analysis when pushing to a branch coverity_scan on github
See https://scan.coverity.com/travis_ci
Signed-off-by: Mike Holmes <mike.holmes(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index 1092cd0..adf3307 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,17 @@
# Copyright (c) 2016, Linaro Limited
# All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause
+#
+# Please update xxxx for your coverity token and notification email if required
+# pushing to github/master will run make check
+# pushing to github/coverity_scan will also launch a static analysis
+# See https://scan.coverity.com/travis_ci
-
+env:
+ global:
+ # COVERITY_SCAN_TOKEN
+ # ** specific to your project **
+ - secure: "xxxx"
language: c
compiler: clang
@@ -47,3 +56,12 @@ script:
- ./configure
- make doxygen-doc
- make distcheck
+
+addons:
+ coverity_scan:
+ project:
+ name: "$TRAVIS_REPO_SLUG"
+ notification_email: xxxx
+ build_command_prepend: "./bootstrap && ./configure --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example"
+ build_command: "make"
+ branch_pattern: coverity_scan
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
hooks/post-receive
--