vlib: move vlib_global_main.elog_main to the heap 56/43856/2
authorMohammed Hawari <[email protected]>
Tue, 7 Oct 2025 13:25:53 +0000 (15:25 +0200)
committerDamjan Marion <[email protected]>
Tue, 7 Oct 2025 17:39:48 +0000 (17:39 +0000)
Change-Id: Ie35a21e69f43c2cadefbc767e1100798c6f0f7fb
Type: refactor
Signed-off-by: Mohammed Hawari <[email protected]>
src/vlib/global_funcs.h
src/vlib/main.c
src/vlib/main.h
src/vlib/threads.c
src/vlib/unix/main.c

index 2558e61..23f7c57 100644 (file)
@@ -62,7 +62,7 @@ always_inline elog_main_t *
 vlib_get_elog_main ()
 {
   vlib_global_main_t *vgm = vlib_get_global_main ();
-  return &vgm->elog_main;
+  return vgm->elog_main;
 }
 
 #endif /* included_vlib_global_funcs_h_ */
index 61d010d..046973d 100644 (file)
@@ -1895,8 +1895,8 @@ vlib_main (vlib_main_t * volatile vm, unformat_input_t * input)
 
   /* Reconfigure event log which is enabled very early */
   if (vgm->configured_elog_ring_size &&
-      vgm->configured_elog_ring_size != vgm->elog_main.event_ring_size)
-    elog_resize (&vgm->elog_main, vgm->configured_elog_ring_size);
+      vgm->configured_elog_ring_size != vgm->elog_main->event_ring_size)
+    elog_resize (vgm->elog_main, vgm->configured_elog_ring_size);
   vl_api_set_elog_main (vlib_get_elog_main ());
 
   /* Default name. */
index 1700369..96c418a 100644 (file)
@@ -309,7 +309,7 @@ typedef struct vlib_global_main_t
   vlib_node_registration_t *node_registrations;
 
   /* Event logger. */
-  elog_main_t elog_main;
+  elog_main_t *elog_main;
   u32 configured_elog_ring_size;
 
   /* Packet trace capture filter */
index b20e490..971f512 100644 (file)
@@ -602,9 +602,9 @@ start_workers (vlib_main_t * vm)
       vlib_set_thread_name ((char *) w->name);
     }
 
-  vgm->elog_main.lock =
+  vgm->elog_main->lock =
     clib_mem_alloc_aligned (CLIB_CACHE_LINE_BYTES, CLIB_CACHE_LINE_BYTES);
-  vgm->elog_main.lock[0] = 0;
+  vgm->elog_main->lock[0] = 0;
 
   clib_callback_data_init (&vm->vlib_node_runtime_perf_callbacks,
                           &vm->worker_thread_main_loop_callback_lock);
index 2fe78e9..505714c 100644 (file)
@@ -738,8 +738,10 @@ vlib_unix_main (int argc, char *argv[])
 
   /* Turn on the event logger at the first possible moment */
   vgm->configured_elog_ring_size = 128 << 10;
-  elog_init (vlib_get_elog_main (), vgm->configured_elog_ring_size);
-  elog_enable_disable (vlib_get_elog_main (), 1);
+  vgm->elog_main =
+    clib_mem_alloc_aligned (sizeof (elog_main_t), CLIB_CACHE_LINE_BYTES);
+  elog_init (vgm->elog_main, vgm->configured_elog_ring_size);
+  elog_enable_disable (vgm->elog_main, 1);
 
   unformat_init_command_line (&input, (char **) vgm->argv);
   if ((e = vlib_plugin_config (vm, &input)))