{
/* 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));
}
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;
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");
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;
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 ();
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);
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 ();
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 ());
{
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;
&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);
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)
{
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);
/* 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);
__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