Applied with important caveats 1. The test stresses all cores in the system under test when using linux-generic implementation, this causes spurious failures when there is any other load on the system during the test such as running gcov, valgrind or other odp unit tests in parallel. Since unit tests in tests/validation are not intended to to be stress or performance tests I have modified it to use once core less than is available so that all the regression tools continue to work. I think pending investigation from Ola, we will move this to test/performance where we have the capacity to allow command line args for the number of cores to use. In this dir we also expect the tests to be stressful and can run on all cores. The remaining question will be how that fits with test/validation test covering 100% of the API.
2. There are review comments outstanding against the test code itself, as I applied it I touched up the easy ones - I would have done them all but issue 1. took my time. Ola has indicated he will correct these for 0.8.0 next week. I fixed the copyright date and the includes. This series as been pulled in to 0.7.0 with outstanding issues because it un-freezes other work and the fixes to this series should be in place for 0.8.0 next week. On 8 January 2015 at 17:52, Bill Fischofer <[email protected]> wrote: > For this series: > > Reviewed-and-tested-by: Bill Fischofer <[email protected]> > > On Thu, Jan 8, 2015 at 3:35 PM, Ola Liljedahl <[email protected]> > wrote: > >> (This document/code contribution attached is provided under the terms of >> agreement LES-LTM-21309) >> The timer API is updated according to >> >> https://docs.google.com/a/linaro.org/document/d/1bfY_J8ecLJPsFTmYftb0NVmGnB9qkEc_NpcJ87yfaD8 >> A major change is that timers are allocated and freed separately from >> timeouts being set and cancelled. The life-length of a timer normally >> corresponds to the life-length of the associated stateful flow while >> the life-length of a timeout corresponds to individual packets being >> transmitted and received. >> The reference timer implementation is lock-less for platforms with >> support for 128-bit (16-byte) atomic exchange and CAS operations. >> Otherwise a lock-based implementation (using as many locks as desired) >> is used but some operations (e.g. reset reusing existing timeout buffer) >> may still be lock-less. >> Removed the odp_timer_ping API "test". >> Added a proper cunit test for the timer API. >> >> Ola Liljedahl (3): >> test: odp_timer_ping: removed >> api: odp_timer.h: updated API, lock-less implementation >> test: odp_timer.h: cunit test >> >> example/timer/odp_timer_test.c | 183 ++-- >> platform/linux-generic/include/api/odp_timer.h | 321 ++++-- >> .../linux-generic/include/odp_timer_internal.h | 62 +- >> platform/linux-generic/odp_timer.c | 1054 >> ++++++++++++++------ >> test/api_test/.gitignore | 1 - >> test/api_test/Makefile.am | 5 +- >> test/api_test/odp_timer_ping.c | 404 -------- >> test/validation/.gitignore | 1 + >> test/validation/Makefile.am | 5 +- >> test/validation/odp_timer.c | 353 +++++++ >> 10 files changed, 1491 insertions(+), 898 deletions(-) >> delete mode 100644 test/api_test/odp_timer_ping.c >> create mode 100644 test/validation/odp_timer.c >> >> -- >> 1.9.1 >> >> >> _______________________________________________ >> lng-odp mailing list >> [email protected] >> http://lists.linaro.org/mailman/listinfo/lng-odp >> > > > _______________________________________________ > lng-odp mailing list > [email protected] > http://lists.linaro.org/mailman/listinfo/lng-odp > > -- *Mike Holmes* Linaro Sr Technical Manager LNG - ODP
_______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
