zephyr/subsys
Krzysztof Chruściński a68cdb0558 logging: Optimize handling of simple and common log messages
Some compilers (e.g. riscv32) does not handle well complex macros
for logging. Generated code is bigger than expected (e.g. riscv32
code is almost twice bigger than cortex-m code). Use of logging can
lead to unexpected code increase.

To handle that an analysis of the zephyr code base was performed and
it shown that 75-80% of logs are simple strings with 0 arguments
(~45%), one 32 bit argument (~26%) or two 32 bit arguments (~6%).
Given that a set of dedicated macro were created which are applied
to those 3 cases which on 32 bit platform create very simple log
messages without padding or alignment needed.

Such dedicated macros save up to 40% of code (riscv32) and also
executes 30% faster (arm cortex and riscv32).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-10-27 10:50:39 +02:00
..
bindesc
bluetooth Bluetooth: ISO: Minor fixes for ISO shell 2023-10-26 09:48:54 +02:00
canbus
console
debug debug: coredump: flash backend: print error if write fails 2023-10-26 07:57:12 -04:00
demand_paging
dfu
disk
dsp
emul
fb
fs
input
ipc
jwt
llext
logging logging: Optimize handling of simple and common log messages 2023-10-27 10:50:39 +02:00
lorawan
mem_mgmt
mgmt mgmt: mcumgr: grp: fs_mgmt: Select CRC if hash/checksum is enabled 2023-10-23 12:15:41 +02:00
modbus
modem modem_chat: fix hard fault on script stop 2023-10-25 10:05:45 +02:00
net hostap: Move the relevant config options away from hostap 2023-10-26 09:48:47 +02:00
pm
portability cmsis: resolve undefined reference to k_calloc() 2023-10-25 19:54:13 +02:00
random
retention
rtio
sd
sensing
settings
shell shell: print name and prompt when listing backends 2023-10-25 09:57:29 +02:00
sip_svc
stats
storage
task_wdt
testsuite testsuite: coverage: allow gcov data dump directly on console 2023-10-25 09:57:15 +02:00
timing
tracing
usb usb: device: Fix ZLP write race condition 2023-10-26 13:52:31 +02:00
zbus
CMakeLists.txt
Kconfig