vppinfra: clib_mem_init() cleanup 49/43949/2 master
authorDamjan Marion <[email protected]>
Mon, 27 Oct 2025 19:20:12 +0000 (20:20 +0100)
committerFlorin Coras <[email protected]>
Mon, 27 Oct 2025 21:20:26 +0000 (21:20 +0000)
removed clib_mem_init_thread_safe() as it doesnt do anything more than
clib_mem_init().
For complex cases added vlib_mem_init_ex()

Type: improvement
Change-Id: Id603769d1c36f43b082d0d3854a9d58ae45b32fb
Signed-off-by: Damjan Marion <[email protected]>
src/plugins/hs_apps/sapi/vpp_echo.c
src/plugins/hs_apps/vcl/vcl_test_server.c
src/plugins/selog/selog_client/selog_client.c
src/svm/svmdbtool.c
src/svm/svmtool.c
src/vat/main.c
src/vcl/vcl_cfg.c
src/vpp/vnet/main.c
src/vppinfra/mem.h
src/vppinfra/mem_dlmalloc.c

index 2b7eff4..d860604 100644 (file)
@@ -1275,7 +1275,7 @@ vpp_echo_init ()
 {
   /* init memory before proto register themselves */
   echo_main_t *em = &echo_main;
-  clib_mem_init_thread_safe (0, 256 << 20);
+  clib_mem_init (0, 256 << 20);
   clib_memset (em, 0, sizeof (*em));
 }
 
index 008539f..c7b3beb 100644 (file)
@@ -865,7 +865,7 @@ main (int argc, char **argv)
   vcl_test_main_t *vt = &vcl_test_main;
   int rv, i;
 
-  clib_mem_init_thread_safe (0, 64 << 20);
+  clib_mem_init (0, 64 << 20);
   vsm->server_cfg.port = VCL_TEST_SERVER_PORT;
   vsm->server_cfg.workers = 1;
   vsm->active_workers = 0;
index f35fe9a..78884c7 100644 (file)
@@ -44,7 +44,7 @@ selog_client_init_mem (void)
       abort ();
     }
 
-  heap = clib_mem_init_thread_safe (mem, SELOG_CLIENT_HEAPSIZE);
+  heap = clib_mem_init (mem, SELOG_CLIENT_HEAPSIZE);
   if (!heap)
     {
       SELOG_LOG_ERROR ("clib_mem_init_thread_safe failed");
@@ -939,4 +939,4 @@ selog_client_init (void)
     selog_client_main.log_lvl = SELOG_LOG_LEVEL_ERROR;
 }
 
-selog_client_main_t selog_client_main;
\ No newline at end of file
+selog_client_main_t selog_client_main;
index b60b86d..399ba37 100644 (file)
@@ -382,7 +382,7 @@ main (int argc, char **argv)
   struct group _grp, *grp;
   char *s, buf[128];
 
-  clib_mem_init_thread_safe (0, 128 << 20);
+  clib_mem_init (0, 128 << 20);
 
   svmdbtool_main.uid = geteuid ();
   svmdbtool_main.gid = getegid ();
index 521ddab..0f3ca9c 100644 (file)
@@ -454,7 +454,7 @@ main (int argc, char **argv)
   char *chroot_path = 0;
   u8 *chroot_u8;
 
-  clib_mem_init_thread_safe (0, 128 << 20);
+  clib_mem_init (0, 128 << 20);
 
   unformat_init_command_line (&input, argv);
 
index f4bb0cd..7f45e44 100644 (file)
@@ -422,7 +422,7 @@ main (int argc, char **argv)
   clib_error_t *error;
   vlib_main_t *vm;
 
-  clib_mem_init_thread_safe (0, 128 << 20);
+  clib_mem_init (0, 128 << 20);
   vlib_main_init ();
   vm = vlib_get_first_main ();
 
index 48be5a7..3b74b58 100644 (file)
@@ -193,7 +193,7 @@ defaulted:
       ASSERT (vcl_mem != MAP_FAILED);
       return;
     }
-  heap = clib_mem_init_thread_safe (vcl_mem, vcl_cfg->heapsize);
+  heap = clib_mem_init (vcl_mem, vcl_cfg->heapsize);
   if (!heap)
     {
       fprintf (stderr, "VCL<%d>: ERROR: clib_mem_init() failed!", getpid ());
index f149b7f..386af04 100644 (file)
@@ -107,8 +107,10 @@ main (int argc, char *argv[])
 {
   int i;
   void vl_msg_api_set_first_available_msg_id (u16);
-  uword main_heap_size = (1ULL << 30);
-  clib_mem_page_sz_t main_heap_log2_page_sz = CLIB_MEM_PAGE_SZ_DEFAULT;
+  clib_mem_init_ex_args_t mem_init_args = {
+    .log2_page_sz = CLIB_MEM_PAGE_SZ_DEFAULT,
+    .memory_size = (1ULL << 30),
+  };
   clib_mem_page_sz_t default_log2_hugepage_sz = CLIB_MEM_PAGE_SZ_UNKNOWN;
   const size_t config_max_size = 1ULL << 18;
   unformat_input_t input, sub_input;
@@ -280,11 +282,12 @@ main (int argc, char *argv[])
                            &default_log2_hugepage_sz))
                ;
              else if (unformat (&sub_input, "main-heap-size %U",
-                                unformat_memory_size, &main_heap_size))
+                                unformat_memory_size,
+                                &mem_init_args.memory_size))
                ;
              else if (unformat (&sub_input, "main-heap-page-size %U",
                                 unformat_log2_page_size,
-                                &main_heap_log2_page_sz))
+                                &mem_init_args.log2_page_sz))
                ;
              else if (unformat (&sub_input, "%v", &v))
                vec_reset_length (v);
@@ -358,8 +361,7 @@ main (int argc, char *argv[])
 
   clib_mem_destroy ();
 
-  main_heap =
-    clib_mem_init_with_page_size (main_heap_size, main_heap_log2_page_sz);
+  main_heap = clib_mem_init_ex (&mem_init_args);
 
   if (!main_heap)
     {
index 993ce5d..6b403ef 100644 (file)
@@ -275,9 +275,14 @@ clib_mem_heap_t *clib_mem_create_heap (void *base, uword size, int is_locked,
 
 void clib_mem_main_init ();
 void *clib_mem_init (void *base, uword size);
-void *clib_mem_init_with_page_size (uword memory_size,
-                                   clib_mem_page_sz_t log2_page_sz);
-void *clib_mem_init_thread_safe (void *memory, uword memory_size);
+
+typedef struct
+{
+  void *base_addr;
+  uword memory_size;
+  clib_mem_page_sz_t log2_page_sz;
+} clib_mem_init_ex_args_t;
+void *clib_mem_init_ex (clib_mem_init_ex_args_t *args);
 
 void clib_mem_exit (void);
 
index 87a8731..bf306ae 100644 (file)
@@ -267,15 +267,15 @@ clib_mem_create_heap_internal (void *base, uword size,
 /* Initialize CLIB heap based on memory/size given by user.
    Set memory to 0 and CLIB will try to allocate its own heap. */
 static void *
-clib_mem_init_internal (void *base, uword size,
-                       clib_mem_page_sz_t log2_page_sz)
+clib_mem_init_internal (clib_mem_init_ex_args_t *a)
 {
   clib_mem_heap_t *h;
 
   clib_mem_main_init ();
 
-  h = clib_mem_create_heap_internal (base, size, log2_page_sz,
-                                    1 /*is_locked */ , "main heap");
+  h = clib_mem_create_heap_internal (a->base_addr, a->memory_size,
+                                    a->log2_page_sz, 1 /*is_locked */,
+                                    "main heap");
 
   clib_mem_set_heap (h);
 
@@ -295,22 +295,17 @@ clib_mem_init_internal (void *base, uword size,
 __clib_export void *
 clib_mem_init (void *memory, uword memory_size)
 {
-  return clib_mem_init_internal (memory, memory_size,
-                                CLIB_MEM_PAGE_SZ_DEFAULT);
+  return clib_mem_init_internal (&(clib_mem_init_ex_args_t){
+    .base_addr = memory,
+    .memory_size = memory_size,
+    .log2_page_sz = CLIB_MEM_PAGE_SZ_DEFAULT,
+  });
 }
 
 __clib_export void *
-clib_mem_init_with_page_size (uword memory_size,
-                             clib_mem_page_sz_t log2_page_sz)
+clib_mem_init_ex (clib_mem_init_ex_args_t *a)
 {
-  return clib_mem_init_internal (0, memory_size, log2_page_sz);
-}
-
-__clib_export void *
-clib_mem_init_thread_safe (void *memory, uword memory_size)
-{
-  return clib_mem_init_internal (memory, memory_size,
-                                CLIB_MEM_PAGE_SZ_DEFAULT);
+  return clib_mem_init_internal (a);
 }
 
 __clib_export void