zephyr/tests/kernel
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
..
arm_irq_vector_table drivers: nrf: Adjust clock_control and timer drivers for nRF9160 2019-01-21 10:13:34 +01:00
arm_runtime_nmi cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
boot_page_table cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
common misc/dlist: Swap insertion API for a faster one 2019-02-01 15:57:21 -05:00
context boards: remove pulpino board 2019-01-31 22:47:18 -05:00
critical cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
device cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
early_sleep cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
errno tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
fatal tests: Dont run coverage for select test cases. 2019-01-16 06:12:33 -05:00
fifo cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
fp_sharing cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
gen_isr_table boards: remove pulpino board 2019-01-31 22:47:18 -05:00
init cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
interrupt boards: remove pulpino board 2019-01-31 22:47:18 -05:00
irq_offload cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
lifo cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
mbox tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
mem_heap/mheap_api_concept cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
mem_pool tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
mem_protect app_shmem: auto-initialize partitions 2019-01-30 23:15:51 -05:00
mem_slab tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
mp cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
msgq/msgq_api tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
mutex tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
obj_tracing kernel: remove k_alert API 2019-01-16 21:34:07 -05:00
pending tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
pipe tests: Updated all the tests which use k_thread_access_grant. 2019-01-03 12:35:14 -08:00
poll tests: Updated all the tests which use k_thread_access_grant. 2019-01-03 12:35:14 -08:00
profiling/profiling_api cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
queue cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
sched tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
semaphore tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
sleep cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
smp cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
spinlock cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
stack tests: Updated all the tests which use k_thread_access_grant. 2019-01-03 12:35:14 -08:00
static_idt cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
threads tests/kernel/threads/thread_apis: Fix include hygine 2019-01-11 15:18:52 -05:00
tickless tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
timer tests/kernel/timer_api: Synchronize racy subtest 2019-01-03 12:29:02 -05:00
workq tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
xip boards: remove pulpino board 2019-01-31 22:47:18 -05:00