zephyr/tests
Andy Ross eda4c027da misc/dlist: Swap insertion API for a faster one
The sys_dlist_insert_*() functions had a behavior where a NULL
argument for the insertion position to sys_dlist_insert_after/before()
was interpreted as "the end of the list".  We never used that
convention (except in one spot internal to dlist.h which was not
itself used anywhere), and of course already have an API for appending
and prepending to a list.

In practice this was a performance disaster.  The NULL check is
virtually never provable statically by the compiler, so that test and
branch is present always.  And worse, the check and call to another
function was pushing this beyond the complexity limit for gcc to
inline a function (at -Os optimization anyway), forcing us to use
function calls for what should be a ~8 instruction sequence.  The
upshot is that dlist insertions were 2-3x slower than they needed to
be.

Deprecate these older APIs and introduce a new sys_dlist_insert() call
which can be much better optimized.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-02-01 15:57:21 -05:00
..
application_development cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
benchmarks tests/benchmarks: Add scheduler microbenchmark 2019-02-01 15:57:21 -05:00
bluetooth tests: bsim_bt: Rename test script for consistency 2019-01-30 13:24:30 -05:00
boards tests: intel_s1000: flash_map: Enable tests for flash_map 2019-01-16 21:22:56 -05:00
booting/stub cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
cmsis_rtos_v1 tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
cmsis_rtos_v2 tests: cmsis: Disable two cmsis portability tests on x86_64 2019-01-11 15:18:52 -05:00
compliance
coverage tests: coverage: GCOV counter value changed in GCC8. 2019-01-28 08:39:06 -05:00
crypto cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
drivers driver/sensor: lps25hb: align driver to auto-generated dts macros 2019-02-01 04:19:42 -06:00
include arch/x86_64: New architecture added 2019-01-11 15:18:52 -05:00
kernel misc/dlist: Swap insertion API for a faster one 2019-02-01 15:57:21 -05:00
lib tests: lib: mem_alloc: esp32 to skip newlib test 2019-01-25 11:20:42 -05:00
misc tests: misc: Add test suite for util.h with tests for COND_CODE_n 2019-01-24 08:40:01 -05:00
net net/context: Make recv_cb providing the ip and protocol headers 2019-02-01 14:34:38 +02:00
posix tests/posix/common: Correct TEST_EXTRA_STACKSIZE usage 2019-01-11 15:18:52 -05:00
shell cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
subsys tests: subsys: logging: Add log_output test suite 2019-01-29 17:24:37 +01:00
unit lib: flatten all loose components into one lib 2019-01-22 07:45:22 -05:00
ztest app_shmem: renamespace and document 2019-01-30 15:43:58 -08:00
CMakeLists.txt tests: coverage: Add Gcov support. 2019-01-16 06:12:33 -05:00
Kconfig Gcov: Added Kconfig changes needed by Gcov. 2019-01-16 06:12:33 -05:00