zephyr/kernel
Carles Cufi cb0cf9f5f4 kernel: profiling: Expose an API call to analyze call stacks
The main, idle, interrupt and workqueue call stack definitions are not available
to applications to call stack_analyze() on, but they often require to be
measured empirically to tune their sizes in particular applications and
use cases.
This exposes a new k_call_stacks_analyze() API call that allows the
application to measure the used call stack space for the 4
kernel-defined call stacks.
Additionally for the ARC architecture the FIRQ stack is also profiled.

Change-id: I0cde149c7366cb6c4bbe8f9b0ab1cc5b56a36ed9
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2017-01-11 15:19:18 +00:00
..
configs kernel: add LEGACY_KERNEL option 2017-01-09 19:42:13 +00:00
include kernel/arch: inspect prio/sched_locked together for preemptibility 2017-01-09 20:52:25 +00:00
alert.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
atomic_c.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
compiler_stack_protect.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
device.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
errno.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
fifo.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
idle.c kernel: fix all nanokernel usage in comments 2016-12-21 18:45:03 +00:00
init.c kernel: profiling: Expose an API call to analyze call stacks 2017-01-11 15:19:18 +00:00
int_latency_bench.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
Kconfig kernel/arch: optimize memory use of some thread fields 2017-01-09 20:52:24 +00:00
Kconfig.event_logger kernel: kconfig: move event logger options into file 2016-12-19 19:58:37 +00:00
Kconfig.power_mgmt kernel: kconfig: move power management options out 2016-12-19 19:58:37 +00:00
legacy_offload.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
legacy_timer.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
lifo.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
mailbox.c kernel/arch: optimize memory use of some thread fields 2017-01-09 20:52:24 +00:00
Makefile logging: move event_logger to subsys/logging 2016-12-25 14:34:43 -05:00
mem_pool.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
mem_slab.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
msg_q.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
mutex.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
pipes.c kernel/arch: optimize memory use of some thread fields 2017-01-09 20:52:24 +00:00
sched.c kernel: do not use sys_dlist_insert_at() in _pend_thread() 2017-01-06 17:32:26 +00:00
sem.c kernel/arch: optimize memory use of some thread fields 2017-01-09 20:52:24 +00:00
stack.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
sys_clock.c kernel: optimize ms-to-ticks for certain tick frequencies 2016-12-21 19:50:07 +00:00
system_work_q.c kernel: profiling: Expose an API call to analyze call stacks 2017-01-11 15:19:18 +00:00
thread.c kernel/arch: optimize memory use of some thread fields 2017-01-09 20:52:24 +00:00
thread_abort.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
timer.c tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS 2016-12-19 14:59:35 -05:00
version.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00
work_q.c kernel: move kernel code to kernel/ directly 2016-12-19 14:59:35 -05:00