logger: configure log buffer sizes 52/269852/1
authorŁukasz Stelmach <l.stelmach@samsung.com>
Thu, 20 Jan 2022 14:43:55 +0000 (15:43 +0100)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Thu, 20 Jan 2022 20:46:01 +0000 (21:46 +0100)
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 <l.stelmach@samsung.com>
kernel/logger.c

index ebde6d3..9ae1698 100644 (file)
 #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;