From 595cfec937bba9d5eb368634cb4d74bd00d503c1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Stelmach?= Date: Thu, 20 Jan 2022 15:43:55 +0100 Subject: [PATCH] logger: configure log buffer sizes MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add module parameters main_buffer_size, events_buffer_size, radio_buffer_size and system_buffer_size to configure respective buffer sizes. If a parameter is set to zero respective buffer is not created whatsoever. Change-Id: Ibaf5fe152837ded0f31f924e81ea112d9d03b63e Signed-off-by: Łukasz Stelmach --- kernel/logger.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/kernel/logger.c b/kernel/logger.c index ebde6d3..9ae1698 100644 --- a/kernel/logger.c +++ b/kernel/logger.c @@ -62,6 +62,23 @@ #define LOGGER_SYSTEM_BUFFER_SIZE 256 #endif +static size_t main_buffer_size = LOGGER_MAIN_BUFFER_SIZE; +module_param(main_buffer_size, int, 0444); +MODULE_PARM_DESC(main_buffer_size, "Size of the /dev/main buffer"); + +static size_t events_buffer_size = LOGGER_EVENTS_BUFFER_SIZE; +module_param(events_buffer_size, int, 0444); +MODULE_PARM_DESC(events_buffer_size, "Size of the /dev/events buffer"); + +static size_t radio_buffer_size = LOGGER_RADIO_BUFFER_SIZE; +module_param(radio_buffer_size, int, 0444); +MODULE_PARM_DESC(radio_buffer_size, "Size of the /dev/radio buffer"); + +static size_t system_buffer_size = LOGGER_SYSTEM_BUFFER_SIZE; +module_param(system_buffer_size, int, 0444); +MODULE_PARM_DESC(system_buffer_size, "Size of the /dev/system buffer"); + + /** * struct logger_log - represents a specific log, such as 'main' or 'radio' * @buffer: The actual ring buffer @@ -1350,19 +1367,23 @@ static int __init logger_init(void) { int ret; - ret = create_log(LOGGER_LOG_MAIN, LOGGER_MAIN_BUFFER_SIZE*1024); + if (main_buffer_size) + ret = create_log(LOGGER_LOG_MAIN, main_buffer_size*1024); if (unlikely(ret)) goto out; - ret = create_log(LOGGER_LOG_EVENTS, LOGGER_EVENTS_BUFFER_SIZE*1024); + if (events_buffer_size) + ret = create_log(LOGGER_LOG_EVENTS, events_buffer_size*1024); if (unlikely(ret)) goto out; - ret = create_log(LOGGER_LOG_RADIO, LOGGER_RADIO_BUFFER_SIZE*1024); + if (radio_buffer_size) + ret = create_log(LOGGER_LOG_RADIO, radio_buffer_size*1024); if (unlikely(ret)) goto out; - ret = create_log(LOGGER_LOG_SYSTEM, LOGGER_SYSTEM_BUFFER_SIZE*1024); + if (system_buffer_size) + ret = create_log(LOGGER_LOG_SYSTEM, system_buffer_size*1024); if (unlikely(ret)) goto out; -- 2.34.1