The shell subsystem currently uses k_poll for signalling. However,
k_poll is only used for simple event signals, results are not used.
Replacing the k_poll with k_event greatly simplifies the code, and
saves 4 struct k_poll_signal and 4 struct k_poll_event (one of which
was entirely unused) while costing a single struct k_event, for
every shell instance. It also allows us to not select POLL,
as we are using the simpler EVENTS instead.
A quick test build of the shell test suite on an nrf54l15 produces
the following build info:
using EVENTS:
FLASH: 71592 B 1428 KB 4.90%
RAM: 9872 B 188 KB 5.13%
IDT_LIST: 0 GB 32 KB 0.00%
using POLL
FLASH: 75524 B 1428 KB 5.16%
RAM: 11224 B 188 KB 5.83%
IDT_LIST: 0 GB 32 KB 0.00%
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
|
||
|---|---|---|
| .. | ||
| backends | ||
| modules | ||
| CMakeLists.txt | ||
| Kconfig | ||
| Kconfig.template.shell_log_queue_size | ||
| Kconfig.template.shell_log_queue_timeout | ||
| shell_cmds.c | ||
| shell_fprintf.c | ||
| shell_help.c | ||
| shell_help.h | ||
| shell_history.c | ||
| shell_log_backend.c | ||
| shell_ops.c | ||
| shell_ops.h | ||
| shell_utils.c | ||
| shell_utils.h | ||
| shell_vt100.h | ||
| shell_wildcard.c | ||
| shell_wildcard.h | ||
| shell.c | ||