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, cloud-dev has been updated
via 76edf89deaf0fa126f34b6cd58f4373d211f0c33 (commit)
from f2a1712bdb379b2eb2c6e470a2f2d9a1302f344f (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 76edf89deaf0fa126f34b6cd58f4373d211f0c33
Author: Josep Puigdemont <josep.puigdemont(a)linaro.org>
Date: Tue Jun 13 10:06:25 2017 +0200
drv: driver: fix devio registration race
This fixes a race condition that could arise when registering a devio.
Signed-off-by: Josep Puigdemont <josep.puigdemont(a)linaro.org>
diff --git a/platform/linux-generic/drv_driver.c b/platform/linux-generic/drv_driver.c
index 46cbdba9..3c918def 100644
--- a/platform/linux-generic/drv_driver.c
+++ b/platform/linux-generic/drv_driver.c
@@ -529,7 +529,7 @@ odpdrv_devio_t odpdrv_devio_register(odpdrv_devio_param_t *param)
* sure no devio providing the same interface using th esame enumerator
* already exists:
*/
- devio_list_read_lock();
+ devio_list_write_lock();
devio = devio_lst.head;
while (devio) {
if ((strncmp(param->api_name, devio->param.api_name,
@@ -539,12 +539,11 @@ odpdrv_devio_t odpdrv_devio_register(odpdrv_devio_param_t *param)
ODP_ERR("a devio providing interface '%s' for devices "
"of type '%s' is already registered\n!",
param->api_name, param->enumr_api_name);
- devio_list_read_unlock();
+ devio_list_write_unlock();
return ODPDRV_DEVIO_INVALID;
}
devio = devio->next;
}
- devio_list_read_unlock();
/* allocate memory for the new devio:
* If init_global has not been done yet, then, we cannot allocate
@@ -561,13 +560,16 @@ odpdrv_devio_t odpdrv_devio_register(odpdrv_devio_param_t *param)
if (init_global_status == UNDONE) {
devio = malloc(sizeof(_odpdrv_devio_t));
- if (!devio)
+ if (!devio) {
+ devio_list_write_unlock();
return ODPDRV_DEVIO_INVALID;
+ }
devio->pool = NULL;
} else {
devio = _odp_ishm_pool_alloc(list_elt_pool,
sizeof(_odpdrv_devio_t));
if (!devio) {
+ devio_list_write_unlock();
ODP_ERR("_odp_ishm_pool_alloc failed!\n");
return ODPDRV_DEVIO_INVALID;
}
@@ -576,7 +578,6 @@ odpdrv_devio_t odpdrv_devio_register(odpdrv_devio_param_t *param)
/* save init parameters and insert devio in list */
devio->param = *param;
- devio_list_write_lock();
devio->next = devio_lst.head;
devio_lst.head = devio;
devio_list_write_unlock();
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/drv_driver.c | 11 ++++++-----
1 file changed, 6 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, master has been updated
via 0d24adacfe17c8e0e1348f19cd8b75b64cb13ccf (commit)
from 5dd7d9ed05ee228406cc3c0ae6cd9caa20a71f08 (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 0d24adacfe17c8e0e1348f19cd8b75b64cb13ccf
Author: Brian Brooks <brian.brooks(a)arm.com>
Date: Wed Jun 7 22:46:56 2017 -0500
arch: arm: add CPU global time
Expose ARMv8 Generic Timer through internal CPU global time functions.
Signed-off-by: Brian Brooks <brian.brooks(a)arm.com>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/arch/arm/odp_cpu_arch.c b/platform/linux-generic/arch/arm/odp_cpu_arch.c
index c31f9084..91d439d9 100644
--- a/platform/linux-generic/arch/arm/odp_cpu_arch.c
+++ b/platform/linux-generic/arch/arm/odp_cpu_arch.c
@@ -50,15 +50,51 @@ uint64_t odp_cpu_cycles_resolution(void)
int cpu_has_global_time(void)
{
- return 0;
+ uint64_t hz = cpu_global_time_freq();
+
+ /*
+ * The system counter portion of the architected timer must
+ * provide a uniform view of system time to all processing
+ * elements in the system. This should hold true even for
+ * heterogeneous SoCs.
+ *
+ * Determine whether the system has 'global time' by checking
+ * whether a read of the architected timer frequency sys reg
+ * returns a sane value. Sane is considered to be within
+ * 1MHz and 6GHz (1us and .1667ns period).
+ */
+ return hz >= 1000000 && hz <= 6000000000;
}
uint64_t cpu_global_time(void)
{
+#if __ARM_ARCH == 8
+ uint64_t cntvct;
+
+ /*
+ * To be consistent with other architectures, do not issue a
+ * serializing instruction, e.g. ISB, before reading this
+ * sys reg.
+ */
+
+ /* Memory clobber to minimize optimization around load from sys reg. */
+ __asm__ volatile("mrs %0, cntvct_el0" : "=r"(cntvct) : : "memory");
+
+ return cntvct;
+#else
return 0;
+#endif
}
uint64_t cpu_global_time_freq(void)
{
+#if __ARM_ARCH == 8
+ uint64_t cntfrq;
+
+ __asm__ volatile("mrs %0, cntfrq_el0" : "=r"(cntfrq) : : );
+
+ return cntfrq;
+#else
return 0;
+#endif
}
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/arch/arm/odp_cpu_arch.c | 38 +++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 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 a5ef33a6f2575cd011cb05c3fb1b06d1c017f879 (commit)
via 5dd7d9ed05ee228406cc3c0ae6cd9caa20a71f08 (commit)
via 4bda102286cf55b0bc93fdf8f8f276d5528fdf14 (commit)
via 452c37072103864d7117e31f521b5e620e4937b5 (commit)
via 0b5e8c6870b959ad9db426aa067326f4baad5d58 (commit)
via b5f5510a9751ad60915f5b9fcf8763a97f77b5ab (commit)
via 79ed8c746ba13233c111a61d2d4f17e360dd8023 (commit)
via 11a1d56876d14cd715a1906a95a7c3734999bdc0 (commit)
via 40c06707ed485e5e957a413d697f4f1370f98837 (commit)
via 1b8c663ecd3b8a7c34ae52163961cdb442383d31 (commit)
via e24f6b3d0c130af3838ba49661d4bc9cb83e940f (commit)
via 9815336c6c7c64df3b40a1fb0c1c668a36d5550b (commit)
via e5faf09d8dfa9631caa7ccf1461fd4bc9f69d4c0 (commit)
via e248b708ff31467591fb99f7cc8652ab9e3081b2 (commit)
via ff6d71903cdfdd68246e3daabedd645bf30640cc (commit)
via bddd9fb0a5353c611bb9de78f3355d30147f8efc (commit)
via 2156eaa076fe0ca0aaa910c8902d5b60aa3bbed6 (commit)
via ca1ebaa8319604d4f5fe303be7150b7278fe9d94 (commit)
via 8d4ecf491a0af45c499d38c6e72853e756d69f0e (commit)
via b93c17b30d051b114a099ed5219fb2a82f5a864c (commit)
via fec16fd81d4084340f0f9a6893c9772000608031 (commit)
via 2210dc7d26125ac9b8b51fa4de7b2b72e4e8f13e (commit)
via c3d3787ae527291e969a60bc54dd4e2ab220251d (commit)
via 14df663ba9534101305ea4f5201fc2a5e55a974f (commit)
via dcd53771432aeb838f2584458589b3430104abcf (commit)
via 3362bb0eea7b4cdeb97cd2558e9bc5e4ee176852 (commit)
via 2239b759ad0cb09e3a2ec3d132580123ed92ab03 (commit)
via a28dab7edeeee74db65349231ec400d92d491a22 (commit)
via e3a92c5bf48f2279cd4ef5c8d22eafc523445626 (commit)
via 93e9e20c17426d3262aa96a589106e635b755090 (commit)
via ab3003c87e4cc25e3b26c7bddbfbce61525a94ad (commit)
via 93ee286c21a576c265463ca5dcd17b39ef80962b (commit)
via 1ebbb8f882ae6506fc9fa2cb02dadae3d35eaf58 (commit)
via 1adf94727a92a260f3145c3c777cc8cf3ecb419b (commit)
via ad5d48fe658927a7b946533d50fd907e306ec184 (commit)
via ce8bebad45c590ad5b06d31d8be9fae8182f944a (commit)
via 8e9242391f79ed54430b5fdc37e992addf9a26b8 (commit)
via 0344270a085f78d9f6d4fbef3c497750bbcee071 (commit)
via 697c3be9b2155379dee458d66335442375a9354d (commit)
via 2ffff0bc3e07678214a413b5eb89da13e7624055 (commit)
via dfbab7438c8404d5f4af20086e2100d40a5ffc0c (commit)
via 60150bba495711e6fdfc948ffb4ad405878fbcbc (commit)
via fbe34c754b7abe15100779ce9833a7f200517d9f (commit)
via 62f95a564b7b3e08a32e6e72d234eb86292021d0 (commit)
via 17f4cddfcbf47f73761cb869ace264cc8444dc08 (commit)
via f54860c628c16c4f76d555b9d20c28e04af13751 (commit)
via a5116e42abf0452f5ad9fd1920d5377aa0ef36b6 (commit)
via 73954b9142d1ddc2dde7c0f9b6596e2d8bac3caf (commit)
via 89a00a2ed43a99e0d2d78a5baeff1292e41ecd34 (commit)
via 8f07f3de3da7961cd29046d2107f27a0f7391703 (commit)
via 4bb3025e76a81130e8e80cd582ae2433d3450e2b (commit)
via 629be2dd2d166ed1246b8c1982af3a55a7035657 (commit)
via af05215e26c99693c000981fddfaf3cdd2225e3f (commit)
via b9676fc5ba51d0f26a9c8c40f0b65a003113f1b5 (commit)
via 583dbc9adab460c926339353cc882095594b5b60 (commit)
via 867d8fc93d074005b52375995b9beed4a896c1ed (commit)
via 87b108d54a697b0c3704342ec7b4d484d04dfdbb (commit)
via 20d0d4d1a34725dec053ecd7cd46979345f7d625 (commit)
via 8367530231e7cd4c33c63b789a5ed8322b51e58f (commit)
via 48ad38ac169c48ac67e0758d3d45eb146255ed09 (commit)
via a074bc12f6a960c195daf3ceb28e3f717cfc3aa2 (commit)
via 4418eef8a7b7f621047101f284ce5e5df44f0239 (commit)
via 464fdc4efb4148dd8d1ec1aeaa2a7ffcb58d7faf (commit)
via 7394a5c8dead5edcfa5bda571aceba5945c91d16 (commit)
via 93afeeaf4e3dee3099830fccbb53bb32e64e3090 (commit)
via fdddf685fcad06f05f3788705968622b23a569ac (commit)
via 29b29677ed7d5d396f4aec1d0f3197efbf119113 (commit)
via 8c6ca3886ae4ffb111d3a81d09d21b68e0e11349 (commit)
via 19c488fdd9f9868cbe60f1ff8558f48c7bba6f04 (commit)
via 966c1c956a21f4e70c873a3c3546e65299837457 (commit)
via 99478ee923dfd8279a7a5149769aee49df315dde (commit)
via be9ca86f431d5eaab0702f7d76db60cd75982e15 (commit)
via 2b34cda253fd28f3b373dc3ee66753d47a0c9b33 (commit)
via 166e4e6a7f2e289f305203e75c68cea56d015c08 (commit)
via e149fb058c6ea718e22c77c6fc930141004dcba2 (commit)
via e6e666d533615de703993836b958514208de942a (commit)
via 8184de8ef8492a739d30c354628aada2e2bab366 (commit)
via 0ee227d51cdb1cc29853dac0376e6e02b6e585de (commit)
via 658f6f27ed62c651d8555a4de0ef103191c491b1 (commit)
via b8de7dfbadb10da65a0a675db5f588cc3998508a (commit)
via aadd1d62084191bf2fb909a7dbedee628b197929 (commit)
via 248ebf35eaf51d962e9d14a4e2c541d3cbc96268 (commit)
via 373f97f88d327ca0e211df33d6fcaad0b9188a1c (commit)
via 7cf390d11e69f6b677e6fbfd6414944737406fc3 (commit)
via 61a5edca59780fc2a4a0e656e09738145892a3a0 (commit)
via 8d19f94fd96eb5a411eafb75c487dc3f972297bd (commit)
via e6be64e01589f1aa335ea178e8314bf35ad34847 (commit)
via 15ea6562d284bd5f2bd20e9b79bd102db106555c (commit)
via a48979af5b36c11fb5c7f8d2c6029c12bb191b51 (commit)
from 361f0fa4addf83ae9b30d5e705e1f86643a45bab (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 a5ef33a6f2575cd011cb05c3fb1b06d1c017f879
Merge: 361f0fa4 5dd7d9ed
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue Jun 20 18:53:22 2017 +0300
Merge branch 'master' v1.15.0.0 into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --cc .travis.yml
index 1bc82b3c,50b3b9c2..aaa3fe1c
--- a/.travis.yml
+++ b/.travis.yml
@@@ -41,9 -41,8 +41,9 @@@ addons
packages:
- gcc
- clang-3.8
- - automake autoconf libtool libssl-dev graphviz mscgen doxygen
+ - automake autoconf autoconf-archive libtool libssl-dev graphviz mscgen doxygen
- libpcap-dev
+ - libconfig-dev
# coverity_scan:
# project:
# name: "$TRAVIS_REPO_SLUG"
diff --cc platform/Makefile.inc
index 3d609aa7,1903d92d..5343bfe1
--- a/platform/Makefile.inc
+++ b/platform/Makefile.inc
@@@ -60,22 -57,10 +60,23 @@@ odpapispecinclude_HEADERS =
$(top_srcdir)/include/odp/api/spec/ticketlock.h \
$(top_srcdir)/include/odp/api/spec/time.h \
$(top_srcdir)/include/odp/api/spec/timer.h \
- $(top_builddir)/include/odp/api/spec/version.h \
- $(top_srcdir)/include/odp/api/spec/traffic_mngr.h
+ $(top_srcdir)/include/odp/api/spec/traffic_mngr.h \
+ $(top_builddir)/include/odp/api/spec/deprecated.h \
+ $(top_builddir)/include/odp/api/spec/version.h
+odpdrvspecincludedir= $(includedir)/odp/drv/spec
+odpdrvspecinclude_HEADERS = \
+ $(top_srcdir)/include/odp/drv/spec/align.h \
+ $(top_srcdir)/include/odp/drv/spec/atomic.h \
+ $(top_srcdir)/include/odp/drv/spec/barrier.h \
+ $(top_srcdir)/include/odp/drv/spec/byteorder.h \
+ $(top_srcdir)/include/odp/drv/spec/compiler.h \
+ $(top_srcdir)/include/odp/drv/spec/driver.h \
+ $(top_srcdir)/include/odp/drv/spec/shm.h \
+ $(top_srcdir)/include/odp/drv/spec/spinlock.h \
+ $(top_srcdir)/include/odp/drv/spec/std_types.h \
+ $(top_srcdir)/include/odp/drv/spec/sync.h
+
odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi
odpapiabidefaultinclude_HEADERS = \
$(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \
diff --cc platform/linux-generic/m4/configure.m4
index c37cb39c,e1197f60..55f3cb98
--- a/platform/linux-generic/m4/configure.m4
+++ b/platform/linux-generic/m4/configure.m4
@@@ -28,17 -28,51 +28,62 @@@ AC_LINK_IFELSE
echo "Use newer version. For gcc > 4.7.0"
exit -1)
+# Check for libconfig (required)
+AC_CHECK_HEADERS([libconfig.h], HEADER_LIBCONFIG="yes")
+PKG_CHECK_MODULES([PKGCONFIG], [libconfig >= 1.3.2], LIBRARY_LIBCONFIG="yes")
+if test "x$LIBRARY_LIBCONFIG" != "x" && test "x$HEADER_LIBCONFIG" != "x" ; then
+ CFLAGS="$CFLAGS $PKGCONFIG_CFLAGS"
+ LIBS="$LIBS $PKGCONFIG_LIBS"
+ AM_CPPFLAGS="$AM_CPPFLAGS `pkg-config --cflags-only-I libconfig`"
+else
+ AC_MSG_FAILURE([libconfig not found (required)])
+fi
+
+ dnl Check whether -latomic is needed
+ use_libatomic=no
+
+ AC_MSG_CHECKING(whether -latomic is needed for 64-bit atomic built-ins)
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([[
+ static int loc;
+ int main(void)
+ {
+ int prev = __atomic_exchange_n(&loc, 7, __ATOMIC_RELAXED);
+ return 0;
+ }
+ ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_CHECK_LIB(
+ [atomic], [__atomic_exchange_8],
+ [use_libatomic=yes],
+ [AC_MSG_FAILURE([__atomic_exchange_8 is not available])])
+ ])
+
+ AC_MSG_CHECKING(whether -latomic is needed for 128-bit atomic built-ins)
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([[
+ static __int128 loc;
+ int main(void)
+ {
+ __int128 prev;
+ prev = __atomic_exchange_n(&loc, 7, __ATOMIC_RELAXED);
+ return 0;
+ }
+ ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_CHECK_LIB(
+ [atomic], [__atomic_exchange_16],
+ [use_libatomic=yes],
+ [AC_MSG_CHECKING([cannot detect support for 128-bit atomics])])
+ ])
+
+ if test "x$use_libatomic" = "xyes"; then
+ ATOMIC_LIBS="-latomic"
+ fi
+ AC_SUBST([ATOMIC_LIBS])
+
m4_include([platform/linux-generic/m4/odp_pthread.m4])
m4_include([platform/linux-generic/m4/odp_openssl.m4])
m4_include([platform/linux-generic/m4/odp_pcap.m4])
-----------------------------------------------------------------------
Summary of changes:
.checkpatch.conf | 2 +
.travis.yml | 2 +-
CHANGELOG | 267 +++++++++++++++++++++
DEPENDENCIES | 5 +-
configure.ac | 19 +-
pkgconfig/libodp-linux.pc.in | 2 +-
platform/Makefile.inc | 5 +-
platform/linux-generic/Makefile.am | 2 +
platform/linux-generic/include/odp_packet_socket.h | 7 -
platform/linux-generic/m4/configure.m4 | 45 ++++
platform/linux-generic/pktio/socket.c | 183 ++++----------
scripts/checkpatch.pl | 6 +-
scripts/spelling.txt | 151 +++++++++++-
test/common_plat/validation/api/pktio/pktio.c | 4 +-
14 files changed, 544 insertions(+), 156 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 annotated tag, v1.15.0.0 has been created
at ac7d1a3026c7d59f7379ff491a5cb8741c27beb3 (tag)
tagging 5dd7d9ed05ee228406cc3c0ae6cd9caa20a71f08 (commit)
replaces v1.14.0.0
tagged by Maxim Uvarov
on Mon Jun 19 18:18:18 2017 +0300
- Log -----------------------------------------------------------------
== opendataplane (1.15.0.0)
=== new features
odp v1.15.0.0 continues the preview of tiger moth, introducing new apis and
extensions, as well as numerous bug fixes and functional improvements.
==== deprecation framework
to permit smoother evolution of the odp api specification, a deprecation
framework is introduced to permit controlled deprecation.
when an odp api or defined struct parameter is deprecated, odp validation
tests will be updated to no longer use that api and instead use the
replacement api. by default, attempts to compile with the older api/feature
will fail and applications wishing to move to the new odp release should be
updated to use the replacement api. to permit evaluation of new odp
releases in advance of such updating, however, odp supports the `configure`
option `--enable-deprecated`, which makes the obsolete apis visible again.
this feature will be used on a case-by-case basis and documented in the
release notes for each release that introduces replacement api(s). in general
the deprecated forms will not be maintained for more than a single release
cycle. after that they will no longer be present in the api specification and
the replacement forms must be used to compile with that level of the api
specification.
==== apis
a number of new and refined apis are introduced in crypto, packet parsing,
and queue configuration:
===== crypto enhancements
the odp crypto apis receive several enhancements in this release:
====== new authentication algorithms
additional enumerations added for hmac-sha-1 and hmac-sha-512 authentication.
====== deprecated cipher/authentication algorithms
the following cipher/authentication algorithms have been deprecated in favor
of newer replacement algorithms:
* `odp_cipher_alg_aes128_cbc` is replaced by `odp_cipher_alg_aes_cbc`
* `odp_cipher_alg_aes128_gcm` is replaced by `odp_cipher_alg_aes_gcm`
* `odp_auth_alg_md5_96` is replaced by `odp_auth_alg_md5_hmac`
* `odp_auth_alg_sha256_128` is replaced by `odp_auth_alg_sha256_hmac`
* `odp_auth_alg_aes128_gcm1 is replaced by `odp_auth_alg_aes_gcm`
====== deprecated name for crypto parameter struct
`odp_crypto_op_params_t` is deprecated in favor of `odp_crypto_op_param_t`
for consistency with other odp `param` structs.
====== digest length session parameter
`odp_crypto_session_param_t` adds the field `auth_digest_len` to permit
specification of the authentication digest length to be used for this
session. the `odp_crypto_auth_capability()` api returns the list of
supported digest lengths.
====== additional authentication data (aad)
the `odp_crypto_op_param_t` struct adds an optional pointer and length for
aad information. this allows applications to specify aad information from
the list of supported lengths provided by `odp_crypto_auth_capability()`.
===== packet range data
the former `odp_crypto_data_range_t` type is deprecated and renamed to
`odp_packet_data_range_t` since it can be used to specify ranges for other
than crypto purposes.
===== parser configuration
applications may now specify the maximum packet layer of interest. for
example, a router may not care about anything beyond iso layer 3 in packets.
this can be used by odp implementations to control the depth of packet
parsing needed by the application and may allow greater efficiency,
especially in software implementations.
this is controlled by a new `odp_pktio_parser_layer_t` enum that is
part of the new `odp_pktio_parser_config_t` struct that is added to the
`odp_pktio_config_t` struct used by the `odp_pktio_config()` api. the
supported parser layers are also returned in this struct as part of the
`odp_pktio_capability_t` struct returned by the `odp_pktio_capability()` api.
===== queue size parameter
the `odp_queue_capability_t` struct returned by the `odp_queue_capability()`
api is enhanced as follows:
* the `max_queues` field is now defined to return the maximum number of event
queues of any type.
* new sub-structs (`plain` and `sched`) are added that detail the `max_num` of
queues of that type supported as well as the new field `max_size` that
specifies the maximum number of elements that each queue of this type can
store. a value of zero for `max_num` indicates no fixed limit.
in addition, the `odp_queue_param_t` passed to `odp_queue_create()` now adds
a `size` field to allow applications to specify the minimum number of events
that this queue should be able to store. a value of zero specified requests that
the implementation default limits be used.
the odp examples have been updated to show this configuration, for example,
the `l2fwd_simple` example does layer 2 forwarding and hence doesn't need
packets to be parsed beyond layer 2. so prior to opening an interface via
`odp_pktio_open()` the configuration processing now includes code of the form:
[source,c]
-----
odp_pktio_config_init(&config);
config.parser.layer = odp_pktio_parser_layer_l2;
odp_pktio_config(pktio, &config);
-----
this serves as a hint to the odp implementation that parsing beyond layer 2
is not required on this interface.
===== removal of `odp_time_to_u64()` api
the `odp_time_to_u64()` api is removed without deprecation in this release.
this is redundant since the `odp_time_to_ns()` api already returns a `uint64_t`
value for `odp_time_t` and can be used for the same purpose.
===== new `odp_sys_info_print()` api
for debugging / diagnostic use, the `odp_sys_info_print()` api is added.
this prints implementation defined information about the system and odp
environment and may contain information about cpus, memory, and other
hardware configuration.
=== helpers
==== linux helpers
odp helper functions fall into two categories: system-independent, and those
that rely on linux. for backwards compatibility, these have been
reorganized into a new `helper/linux` directory that is installed only when
the `--enable-helper-linux` `configure` option is specified.
=== `odp-linux` performance
==== scheduler improvements
the default scheduler is streamlined by using precomputed weight tables and
separated priority queues for different scheduling groups. this improves
both latency and scalability.
also included in this change, the default number of scheduling groups is
lowered from 256 to 32, which experience has shown is sufficient for most
applications.
the scheduler fairness checks are also enhanced to avoid low priority event
starvation if `config_burst_size` is set to 1.
=== `odp_linux` crypto improvements
* errors in implicit packet copy operations performed during crypto operation
are now handled properly.
* if `odp_crypto_session_create()` fails, proper cleanup is now performed to
avoid memory leaks.
* the auth digest len is now used when calculating hmacs, and full-length
digests are now added to supported sha capabilities.
* numerous crypto functions have been rewritten to use the openssl `evp_`
functions for improved efficiency and accuracy.
=== `odp-linux` packet improvements
* the packet parser now recognizes icmpv6 packets in addition to icmpv4.
=== `odp-linux` pktio improvements
* the `ethtool` and `socket` drivers add additional initializations to avoid
valgrind warnings.
* the `dpdk` driver is upgraded to dpdk 17.02 and is now also built with the
`--whole-archive` option, which means that pmds no longer need to be linked
individually but are automatically included in builds that make use of dpdk
pktio support.
=== `odp-linux` time improvements
* the odp time apis are now more efficiently handled by replacing the previous
linux timespec with simple nanoseconds (ns) and using native hardware time
counters in x86 and arm environments, when available.
=== `odp-linux` traffic manager improvements
* weighting is now handled properly when weight=1 is specified. previously
this caused an overflow that distorted packet priorities.
=== miscellaneous fixes and improvements
==== native clang build on armv8
armv8 compilation now works properly when using the clang compiler.
==== test improvements
* the `odp_scheduling` performance test now handles dequeueing from
potentially concurrent queues properly.
* the traffic manager and time tests are now invoked via scripts to better
account for load-sensitivity when running regressions in ci environments.
* the l2fwd test now supports an additional parameter to specify the number
of scheduling groups to use in the test.
* the `odp_sched_latency` performance test now handles queue draining in
a robust manner.
* the crypto validation tests now properly check and validate message digests,
and include negative tests to verify that incorrect digests are properly
flagged. note that this may expose omissions in other odp implementations that
had previously passed this validation test.
* the crypto validation test now adds an explicit test for the null cipher,
as well as hmac-sha-1 and hmac-sha-512.
* the pktio_ipc test now properly cleans up only its own temp files.
==== examples improvements
* the `odp_generator` example now properly honors stop criteria based on
number of packets sent.
* the `odp_generator` example now properly flushes output messages
* the `odp_generator` example now supports port configuration.
=== bug fixes
==== https://bugs.linaro.org/show_bug.cgi?id=2416[bug 2416]
example/generator/odp_generator.c contains todo items
==== https://bugs.linaro.org/show_bug.cgi?id=2779[bug 2779]
error handling issues (checked_return)
==== https://bugs.linaro.org/show_bug.cgi?id=2826[bug 2826]
unchecked return in pool.c
==== https://bugs.linaro.org/show_bug.cgi?id=2831[bug 2831]
unchecked return in mmap_unmap_sock()
==== https://bugs.linaro.org/show_bug.cgi?id=2852[bug 2852]
odp_static_assert() fails when used by c++
==== https://bugs.linaro.org/show_bug.cgi?id=2872[bug 2872]
odp_pktio_ordered_run.sh: line 34: integer expression expected
==== https://bugs.linaro.org/show_bug.cgi?id=2881[bug 2881]
load sensitive tests fail on ci
==== https://bugs.linaro.org/show_bug.cgi?id=2895[bug 2895]
the `odp_crypto_operation()` routine does not work with multi-segment packets.
==== https://bugs.linaro.org/show_bug.cgi?id=2908[bug 2908]
packet validation test fails if implementation does not limit packet length
==== https://bugs.linaro.org/show_bug.cgi?id=2910[bug 2910]
odph_iplookup_table_put_value() uses overlapping pointer addresses
==== https://bugs.linaro.org/show_bug.cgi?id=2933[bug 2933]
miss to call unlock if there are some errors happen in loopback_send() function
==== https://bugs.linaro.org/show_bug.cgi?id=2940[bug 2940]
`odp_packet_seg_t` fails abi compatibility between odp-linux and odp-dpdk
==== https://bugs.linaro.org/show_bug.cgi?id=2942[bug 2942]
compilation fails using clang 4.0.0
==== https://bugs.linaro.org/show_bug.cgi?id=2952[bug 2952]
doxygen errors and travis does not catch them
==== https://bugs.linaro.org/show_bug.cgi?id=2969[bug 2969]
tm validation test does find traffic_mngr_main
==== https://bugs.linaro.org/show_bug.cgi?id=2974[bug 2974]
`odp_rwlock_read_trylock()` fails if lock is already held for read access
==== https://bugs.linaro.org/show_bug.cgi?id=3002[bug 3002]
packet order lost when enqueuing to pktout queue
==== https://bugs.linaro.org/show_bug.cgi?id=3003[bug 3003]
aes-gcm returns 'valid' tag when checking invalid tag
==== https://bugs.linaro.org/show_bug.cgi?id=3013[bug 3013]
various failures if config_packet_max_segs is set to 1
==== https://bugs.linaro.org/show_bug.cgi?id=3017[bug 3017]
travis: time main test out of boundaries
==== https://bugs.linaro.org/show_bug.cgi?id=3027[bug 3027]
compilation failures using gcc 7 series
==== https://bugs.linaro.org/show_bug.cgi?id=3039[bug 3039]
socket pktio recv fails on large number of packet
=== known issues
==== https://bugs.linaro.org/show_bug.cgi?id=3024[bug 3024]
odp_traffic_mngr example is broken
==== https://bugs.linaro.org/show_bug.cgi?id=3026[bug 3026]
pktio_ips_run test can fail due to segfault
Balakrishna Garapati (2):
validation: packet: do assert on newly created pkt reference
linux-generic: decouple odp_errno define from odp-linux
Bill Fischofer (16):
linux-generic: pool: add odp_pool_capability() rc check
validation: packet: do not require a max packet length
abi: packet: restore abi compatibility for odp_packet_seg_t type
linux-generic: debug: enable helper use from c++ programs
bug: linux-generic: add syntax to allow newer clang to compile odp
example: l3fwd: check rc from odph_eth_addr_parse()
scripts: checkpatch: update to allow additional exceptions
api: classification: add additional doxygen documentation
api: pool: add additional doxygen documentation
api: tm: add additional doxygen documentation
linux-generic: types: add additional doxygen documentation
helper: add additional doxygen documentation
linux-generic: time: add additional doxygen doc for time type
api: crypto: correct documentation typos
changelog: updates for odp v1.15.0.0
changelog: add bug 3039 to list of bug fixes for v1.15
Bogdan Pricope (10):
test: generator: compose sending packets from reference packet plus differences
test: generator: send UDP packets in bursts
test: generator: receive packets in bursts
test: generator: use multiple RX queue in receiving mode
test: generator: use multiple TX queues in send UDP mode
test: generator: update global statistics calculation
example: generator: fix stop criteria - number of packets sent
example: generator: flush output messages
examples: generator: UDP ports configuration
test: generator: replace gettimeofday with ODP API calls
Brian Brooks (7):
linux-gen: ring: fix memory ordering in ring dequeue
configure.ac: fix native Clang build on ARMv8
test: odp_scheduling: handle dequeueing from a concurrent queue
test: odp_sched_latency: robust draining of queues
.gitignore: add perf.data
build: GCC 7 fixes
pktio: GCC 7 fixes
Christophe Milard (1):
doc: application-api-guide: excluding drv interface
Dmitriy Krot (1):
linux-gen: tm: fix wrr/wfq bug when weight=1
Dmitry Eremin-Solenikov (39):
linux-generic: pool: don't allocate buffers from invalid pool
test: tm: use script instead of binary when calling traffic manager test
linux-generic: crypto: properly handle errors in packet copy
validation: crypto: add tests for checking message digests
validation: crypto: correct comment for HMAC-SHA-256 tests
linux-generic: crypto: unify auth code
linux-generic: rwlock: fix odp_rwlock_read_trylock()
test: lock: expand rwlock tests
configure.ac: fix mcx16 vs clang check
linux-generic: crypto: don't leak sessions if creation fails
test: linux-generic: stop dropping other ODP files in pktio_ipc test
travis: split build into separate stages
api: packet: introduce odp_packet_data_range_t
test: crypto: add AES-GCM tests with wrong tag value
linux: crypto: fix checking of GCM tags
linux-generic: packet: add functions to optimize memset and memcmp paths
validation: crypto: explicitly pass auth_digest_len to crypto subsystem
validation: crypto: explicitly pass AAD to crypto subsystem
test: odp_crypto: update performance test to set auth_digest_length
example: ipsec: set auth_digest_len
linux-generic: crypto: use auth_digest_len when calculating HMACs
linux-generic: crypto: add SHA* capabilities for full length digests
linux-generic: crypto: update AES-GCM support to reflect aad and auth_digest_len
linux-generic: crypto: remote extra memcpy in AES-GCM
linux-generic: crypto: make AES-GCM thread safe
linux-generic: crypto: explicitly disable padding for AES-GCM
linux-generic: crypto: rewrite AES-CBC support using EVP functions
linux-generic: crypto: rewrite 3DES-CBC support using EVP functions
linux-generic: crypto: merge AES-CBC and 3DES-CBC support
linux-generic: crypto: make HMAC work across segmented packets
linux-generic: crypto: make en/decryption work across packet segments
linux-generic: crypto: NULL session->next pointer on session allocation
test: odp_crypto: bail out if odp_crypto_session_create failed
crypto: linux-generic: add capabilities for CIPHER_NULL and AUTH_NULL
validation: crypto: add tests for NULL cipher
validation: crypto: add HMAC-SHA-1 test cases
validation: crypto: add HMAC-SHA-512 test cases
linux-generic: crypto: add SHA-1 authentication support
linux-generic: crypto: add HMAC-SHA-512 authentication support
Honnappa Nagarahalli (1):
helper: cuckoo: add queue size config to cuckoo table
Janne Kajovuori (1):
linux-generic: makefile: fix staged install support
Janne Peltonen (1):
linux-gen: abi: fix include/odp/api/abi symlink creation
Kevin Wang (3):
linux-gen: pktio: miss an unlock operation before exit if error happens
validation: scheduler: modify the queue size for atomic queue
validation: scheduler: release context according to scheduler sync type
Matias Elo (24):
linux-gen: dpdk: improve pmd driver linking
linux-gen: dpdk: disable pci devices when running make check
linux-gen: dpdk: bump target dpdk version to 17.02
test: bench_packet: add tests for reference functions
test: bench_packet: fix headroom/tailroom test return values
helper: iplookuptable: fix prefix_entry_t member order
validation: packet: increase test pool size
validation: packet: remove invalid check from packet_test_alloc_segmented()
validation: packet: use common define for test pool sizes
linux-gen: pktio: fix valgrind warnings
helper: tables: avoid invalid odp_shm_addr() calls
linux-gen: sched: fix one at a time low priority event scheduling
linux-gen: sched: fix ordered enqueue to pktout queue
linux-gen: packet: fix odp_packet_free_multi() with single segment pool
linux-gen: packet: fix gcc errors with single segment pool
test: pktio: use capability to set test pool packet length
linux-gen: socket: remove limits for maximum RX/TX burst size
linux-gen: socket: streamline sock_mmsg_recv() function
linux-gen: packet: recognize ICMPv6 packets
examples: use odp_pktio_config() to select required packet parsing level
validation: pktio: add tests for packet parsing
validation: pktio: add tests for packet parsing
validation: pktio: remove CRCs from parser test packets
linux-gen: packet: remove lazy parsing
Maxim Uvarov (21):
linux-gen: remove pktio ipc option from configure
linux-gen: pktio: socket mmap: check unmap return code
test: perf: fix bash syntax in odp_pktio_ordered_run.sh
test: tm: skip tm result under travis run
test: tm: add paths to find tm binary
test: pktio_run: exit if binary was not found
codecov: enable threshold for patches
travis: move code style check to separate job
travis: check compile and run from install
travis: expand testing with varios configure options
travis: print failed test logs to screen
test: time: do not fail under gcov
travis: add dependency of autoconf-archive
configure.ac: do not trap if libatomic is not found
Revert "validation: pktio: add tests for packet parsing"
mergefix: remove duplicate declaration
update API version number from v1.14.0.0 to v1.15.0.0
test: l2fwd pass under coverage
build: fix order of test execution
travis: add sudo run make check
travis: do not run performance test in parallel under coverage
Ola Liljedahl (1):
linux-generic: ring.c: use required memory orderings
Petri Savolainen (36):
helper: linux: add common linux helper file
helper: pkgconfig: remove linux-generic from helper lib name
linux-gen: dependencies: update cunit install instructions
linux-gen: packet: make inline table visible
test: l2fwd: add group option
linux-gen: sched: use weight table for preferences
linux-gen: sched: optimize group scheduling
scripts: checkpatch: revert code modification
scripts: checkpatch: ignore volatile and extern warnings
scripts: spelling: update to latest version
api: crypto: add sha-1 and sha-512 enumerations
linux-gen: crypto: sha-1 and sha-512 not implemented yet
api: crypto: enforce deprecated API status
api: crypto: add digest length session parameter
api: crypto: add AAD operation parameters
api: deprecated: add configure option and macros
test: crypto: remove references to deprecated crypto apis
api: hints: remove ODP_DEPRECATED from API
linux-gen: crypto: add algo capability functions
api: pktio: add parser configuration
linux-gen: pktio: parser default config
api: queue: added queue size param
validation: queue: test queue max_num per type
api: time: remove odp_time_to_u64 from API
api: system: added system info print
linux-gen: cpu_flags: added x86 cpu flag read functions
linux-gen: system: implement system info print
test: validation: add odp_sys_info_print test
test: sched_latency: use sys_info_print
test: validation: rename time test header file
test: validation: add time accuracy test
linux-gen: time: use hw time counter when available
linux-gen: time: improve x86 TSC freq measurement accuracy
linux-gen: time: store timespec as nsec
validation: crypto: add stubs for sha-1 and sha-512 tests
linux-gen: makefile: fix out of tree build
Yi He (1):
checkpatch.conf: ignore PREFER_PRINTF, PREFER_SCANF
-----------------------------------------------------------------------
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 5dd7d9ed05ee228406cc3c0ae6cd9caa20a71f08 (commit)
from 4bda102286cf55b0bc93fdf8f8f276d5528fdf14 (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 5dd7d9ed05ee228406cc3c0ae6cd9caa20a71f08
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Mon Jun 19 11:25:19 2017 +0300
linux-gen: makefile: fix out of tree build
Generated files need $(top_builddir) instead of $(top_srcdir)
Fixes bug https://bugs.linaro.org/show_bug.cgi?id=3052
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/Makefile.inc b/platform/Makefile.inc
index 9844a58a..1903d92d 100644
--- a/platform/Makefile.inc
+++ b/platform/Makefile.inc
@@ -29,7 +29,6 @@ odpapispecinclude_HEADERS = \
$(top_srcdir)/include/odp/api/spec/cpumask.h \
$(top_srcdir)/include/odp/api/spec/crypto.h \
$(top_srcdir)/include/odp/api/spec/debug.h \
- $(top_srcdir)/include/odp/api/spec/deprecated.h \
$(top_srcdir)/include/odp/api/spec/errno.h \
$(top_srcdir)/include/odp/api/spec/event.h \
$(top_srcdir)/include/odp/api/spec/hash.h \
@@ -58,8 +57,9 @@ odpapispecinclude_HEADERS = \
$(top_srcdir)/include/odp/api/spec/ticketlock.h \
$(top_srcdir)/include/odp/api/spec/time.h \
$(top_srcdir)/include/odp/api/spec/timer.h \
- $(top_builddir)/include/odp/api/spec/version.h \
- $(top_srcdir)/include/odp/api/spec/traffic_mngr.h
+ $(top_srcdir)/include/odp/api/spec/traffic_mngr.h \
+ $(top_builddir)/include/odp/api/spec/deprecated.h \
+ $(top_builddir)/include/odp/api/spec/version.h
odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi
odpapiabidefaultinclude_HEADERS = \
-----------------------------------------------------------------------
Summary of changes:
platform/Makefile.inc | 6 +++---
1 file changed, 3 insertions(+), 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, next has been updated
via 8bb1a783339f875bc919791b6029635f8918c9c5 (commit)
via 70b54b5ac484fffc736003a1ea561b8cd69f0802 (commit)
via c2648b22ad805a9c84faca5eb114c78faf6a129e (commit)
via 25e9897154f52f196b452ace7aa6a01899685c18 (commit)
from 5b8a65b8c1e8bfbc4fc76e8622052ca74ed0f736 (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 8bb1a783339f875bc919791b6029635f8918c9c5
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jun 15 17:02:43 2017 +0300
travis: do not run performance test in parallel under coverage
Performance tests have some limits to detect if they pass or fail
but under coverage execution is slow, running tests in parallel is
also very slow. Without that patch scheduler test simetimes fails.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index 7783f13a..50b3b9c2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -129,7 +129,7 @@ jobs:
script:
- ./bootstrap
- ./configure --prefix=$HOME/odp-install --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="-O0 -coverage" CXXFLAGS="-O0 -coverage" LDFLAGS="--coverage"
- - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check -j ${nproc}
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check
- find . -type f -iname '*.[ch]' -not -path ".git/*" -execdir gcov {} \; ; bash <(curl -s https://codecov.io/bash) -X coveragepy
- stage: test
env: TEST=distcheck
commit 70b54b5ac484fffc736003a1ea561b8cd69f0802
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jun 15 16:04:55 2017 +0300
travis: add sudo run make check
make check has to be under root to validate pktio like
raw sockets. Also odp temporary files can overlap with
previous root run and permission to overwrite that files
is needed.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index 669695d8..7783f13a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -129,7 +129,7 @@ jobs:
script:
- ./bootstrap
- ./configure --prefix=$HOME/odp-install --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="-O0 -coverage" CXXFLAGS="-O0 -coverage" LDFLAGS="--coverage"
- - make check -j $(nproc)
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check -j ${nproc}
- find . -type f -iname '*.[ch]' -not -path ".git/*" -execdir gcov {} \; ; bash <(curl -s https://codecov.io/bash) -X coveragepy
- stage: test
env: TEST=distcheck
@@ -137,7 +137,7 @@ jobs:
script:
- ./bootstrap
- ./configure
- - make distcheck
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" make distcheck
- stage: test
env: TEST=doxygen
compiler: gcc
commit c2648b22ad805a9c84faca5eb114c78faf6a129e
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Jun 14 23:45:31 2017 +0300
build: fix order of test execution
l2fwd perf test requires odp_generator from examples.
Make sure that examples already build when make check
is run.
https://bugs.linaro.org/show_bug.cgi?id=2938
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/Makefile.am b/Makefile.am
index 2a9a658d..daa49788 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,10 +8,10 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-test-cpp \
#@with_platform@ works alone in subdir but not as part of a path???
SUBDIRS = @platform_with_platform@ \
helper \
- test \
helper/test \
doc \
- example
+ example . \
+ test
@DX_RULES@
commit 25e9897154f52f196b452ace7aa6a01899685c18
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Jun 14 16:50:13 2017 +0300
test: l2fwd pass under coverage
env variable TEST=coverage is set, use it to not fail
under gcov run which is really slow.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/test/common_plat/performance/odp_l2fwd_run.sh b/test/common_plat/performance/odp_l2fwd_run.sh
index dd42ede9..6871e4b0 100755
--- a/test/common_plat/performance/odp_l2fwd_run.sh
+++ b/test/common_plat/performance/odp_l2fwd_run.sh
@@ -96,6 +96,9 @@ run_l2fwd()
ret=1
elif [ $ret -eq 0 ]; then
PASS_PPS=5000
+ if [ "${TEST}" = "coverage" ]; then
+ PASS_PPS=10
+ fi
MAX_PPS=$(awk '/TEST RESULT/ {print $3}' $LOG)
if [ "$MAX_PPS" -lt "$PASS_PPS" ]; then
echo "FAIL: pps below threshold $MAX_PPS < $PASS_PPS"
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 4 ++--
Makefile.am | 4 ++--
test/common_plat/performance/odp_l2fwd_run.sh | 3 +++
3 files changed, 7 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 361f0fa4addf83ae9b30d5e705e1f86643a45bab (commit)
via cb17e380f1231328cbaaf35635f6db9fb5b99bb8 (commit)
via 244fce69b25af28cbe5c19b11bfc3da5aa8da95d (commit)
via 974e4477a35742b8021e25692a458d16cd2087f1 (commit)
from 4f97e500a097928e308a415c32a88465adc5f5cc (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 361f0fa4addf83ae9b30d5e705e1f86643a45bab
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jun 15 17:02:43 2017 +0300
travis: do not run performance test in parallel under coverage
Performance tests have some limits to detect if they pass or fail
but under coverage execution is slow, running tests in parallel is
also very slow. Without that patch scheduler test simetimes fails.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index 64f4ff88..1bc82b3c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -130,7 +130,7 @@ jobs:
script:
- ./bootstrap
- ./configure --prefix=$HOME/odp-install --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="-O0 -coverage" CXXFLAGS="-O0 -coverage" LDFLAGS="--coverage"
- - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check -j ${nproc}
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check
- find . -type f -iname '*.[ch]' -not -path ".git/*" -execdir gcov {} \; ; bash <(curl -s https://codecov.io/bash) -X coveragepy
- stage: test
env: TEST=distcheck
commit cb17e380f1231328cbaaf35635f6db9fb5b99bb8
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jun 15 16:04:55 2017 +0300
travis: add sudo run make check
make check has to be under root to validate pktio like
raw sockets. Also odp temporary files can overlap with
previous root run and permission to overwrite that files
is needed.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index d1ca5a66..64f4ff88 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -130,7 +130,7 @@ jobs:
script:
- ./bootstrap
- ./configure --prefix=$HOME/odp-install --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="-O0 -coverage" CXXFLAGS="-O0 -coverage" LDFLAGS="--coverage"
- - make check -j $(nproc)
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" PATH=${PATH//:\.\/node_modules\/\.bin/} make check -j ${nproc}
- find . -type f -iname '*.[ch]' -not -path ".git/*" -execdir gcov {} \; ; bash <(curl -s https://codecov.io/bash) -X coveragepy
- stage: test
env: TEST=distcheck
@@ -138,7 +138,7 @@ jobs:
script:
- ./bootstrap
- ./configure
- - make distcheck
+ - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" make distcheck
- stage: test
env: TEST=doxygen
compiler: gcc
commit 244fce69b25af28cbe5c19b11bfc3da5aa8da95d
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Jun 14 23:45:31 2017 +0300
build: fix order of test execution
l2fwd perf test requires odp_generator from examples.
Make sure that examples already build when make check
is run.
https://bugs.linaro.org/show_bug.cgi?id=2938
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/Makefile.am b/Makefile.am
index 2a9a658d..daa49788 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,10 +8,10 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-test-cpp \
#@with_platform@ works alone in subdir but not as part of a path???
SUBDIRS = @platform_with_platform@ \
helper \
- test \
helper/test \
doc \
- example
+ example . \
+ test
@DX_RULES@
commit 974e4477a35742b8021e25692a458d16cd2087f1
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Jun 14 16:50:13 2017 +0300
test: l2fwd pass under coverage
env variable TEST=coverage is set, use it to not fail
under gcov run which is really slow.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/test/common_plat/performance/odp_l2fwd_run.sh b/test/common_plat/performance/odp_l2fwd_run.sh
index dd42ede9..6871e4b0 100755
--- a/test/common_plat/performance/odp_l2fwd_run.sh
+++ b/test/common_plat/performance/odp_l2fwd_run.sh
@@ -96,6 +96,9 @@ run_l2fwd()
ret=1
elif [ $ret -eq 0 ]; then
PASS_PPS=5000
+ if [ "${TEST}" = "coverage" ]; then
+ PASS_PPS=10
+ fi
MAX_PPS=$(awk '/TEST RESULT/ {print $3}' $LOG)
if [ "$MAX_PPS" -lt "$PASS_PPS" ]; then
echo "FAIL: pps below threshold $MAX_PPS < $PASS_PPS"
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 4 ++--
Makefile.am | 4 ++--
test/common_plat/performance/odp_l2fwd_run.sh | 3 +++
3 files changed, 7 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, master has been updated
via aadd1d62084191bf2fb909a7dbedee628b197929 (commit)
from 248ebf35eaf51d962e9d14a4e2c541d3cbc96268 (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 aadd1d62084191bf2fb909a7dbedee628b197929
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jun 15 18:56:06 2017 +0300
configure.ac: do not trap if libatomic is not found
Idea if check was to detect if libatomic is needed or not,
not trap configure on not case
Fixes Linaro CI compilation for:
gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabih
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-generic/m4/configure.m4
index 6a429f1d..e1197f60 100644
--- a/platform/linux-generic/m4/configure.m4
+++ b/platform/linux-generic/m4/configure.m4
@@ -65,7 +65,7 @@ AC_LINK_IFELSE(
AC_CHECK_LIB(
[atomic], [__atomic_exchange_16],
[use_libatomic=yes],
- [AC_MSG_FAILURE([cannot detect support for 128-bit atomics])])
+ [AC_MSG_CHECKING([cannot detect support for 128-bit atomics])])
])
if test "x$use_libatomic" = "xyes"; then
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/m4/configure.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--