(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 re-using existing timeout buffer) may still be lock-less. Removed the old "test" program odp_timer_ping.c. Updated the example example/timer/odp_timer_test.c. More work is probably needed here in order to mold this into a great example program but that work is outside the scope of this patch set. Added cunit test program test/validation/odp_timer.c. Rebased with e.g. the new buffer API. Updated timer API from Petri's review comments. Rebased again.
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 | 177 ++-- platform/linux-generic/include/api/odp_timer.h | 318 ++++-- .../linux-generic/include/odp_timer_internal.h | 59 +- platform/linux-generic/odp_timer.c | 1064 ++++++++++++++------ 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, 1497 insertions(+), 890 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 lng-odp@lists.linaro.org http://lists.linaro.org/mailman/listinfo/lng-odp