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
boot_page_table
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
device
early_sleep
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
fp_sharing
gen_isr_table boards: remove pulpino board 2019-01-31 22:47:18 -05:00
init
interrupt boards: remove pulpino board 2019-01-31 22:47:18 -05:00
irq_offload
lifo
mbox tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
mem_heap/mheap_api_concept
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
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
poll
profiling/profiling_api
queue
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
smp
spinlock
stack
static_idt
threads
tickless tests: Increase the stack size by CONFIG_TEST_EXTRA_STACKSIZE. 2019-01-16 06:12:33 -05:00
timer
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