zephyr/subsys
Mikhail Kushnerov e50d1190fa profiling: Add perf tool
Add profiling subsystem.

Add perf util based on periodic stack unwinding. Perf from Linux
was taken as a reference.

The operation of module is based on frame pointer usage and saving
registers during interruption handling.
The unwinding function stay in timer as expiry functioin so is called
during interruption handling. Thus the function have access to saved
registers (program counter and frame pointer in particular) of the current
thread and use it to unwind the thread stack.
Timer starting and results printing function are made as shell commands
for conveniency.

Originally-by: Yonatan Goldschmidt <yon.goldschmidt@gmail.com>
Signed-off-by: Mikhail Kushnerov <m.kushnerov@yadro.com>
2024-08-13 18:28:44 -04:00
..
bindesc
bluetooth Bluetooth: Mesh: Fix build warning with gcc 13 2024-08-13 18:18:00 -04:00
canbus
console
dap
debug debug: coresight: Add coresight_trace_deformatter 2024-08-12 19:23:19 -04:00
demand_paging demand_paging: LRU eviction: avoid ping pong deadlock loop 2024-08-06 17:15:15 -04:00
dfu
disk
dsp
emul
fb
fs fs: fuse: ensure S_IFxxx macros are available 2024-08-11 10:32:20 +02:00
input input: longpress, keymap: use an explicit callback name 2024-07-31 12:55:11 +02:00
ipc ipc: icmsg: Align to NO MULTITHREADING 2024-08-01 13:31:53 +02:00
jwt
llext
logging logging: When strings are stripped keep source name pointers 2024-08-13 14:56:14 +02:00
lorawan
mem_mgmt
mgmt mgmt: hawkbit: move to zephyr kernel heap 2024-08-05 11:32:49 +02:00
modbus
modem modem: ubx: fix incoming byte processing 2024-08-02 03:29:18 -04:00
net net: wifi: replace (1 << xyz) with BIT(xyz) 2024-08-13 18:19:33 -04:00
pm pm: refactor pm_device_driver_init 2024-08-02 03:31:17 -04:00
portability
profiling profiling: Add perf tool 2024-08-13 18:28:44 -04:00
random
retention
rtio rtio: Enable submit/consume semaphores by default 2024-08-05 10:16:12 +02:00
sd
sensing
settings
shell device_dt_metadata: handle dt_meta being NULL 2024-08-12 15:54:22 +02:00
sip_svc
stats
storage
task_wdt
testsuite testsuite: coverage: fix arm64 build with gcov enabled 2024-08-13 14:57:50 +02:00
timing
tracing
usb drivers: udc: add opaque pointer to store upper layer private data 2024-08-06 17:17:41 -04:00
zbus
CMakeLists.txt profiling: Add perf tool 2024-08-13 18:28:44 -04:00
Kconfig profiling: Add perf tool 2024-08-13 18:28:44 -04:00