X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvpp%2Fvnet%2Fmain.c;h=f7e5382f89373e09aa2520e9b7749e25e3cd0c3b;hb=268d7be66b8b48a230e06de645e3a8b7de29d93c;hp=397cf8328c5f5484b6d9960c2e54dd5ed8c2d02c;hpb=f2b4a375d68b29130801c17f05ae66294d007d90;p=vpp.git diff --git a/src/vpp/vnet/main.c b/src/vpp/vnet/main.c index 397cf8328c5..f7e5382f893 100644 --- a/src/vpp/vnet/main.c +++ b/src/vpp/vnet/main.c @@ -25,7 +25,7 @@ #include #include #include -#include +#include /* To get the last static message id */ #include /* @@ -60,13 +60,11 @@ vpp_find_plugin_path () return; *p = 0; - s = format (0, "%s/lib/" CLIB_TARGET_TRIPLET "/vpp_plugins:" - "%s/lib/vpp_plugins", path, path); + s = format (0, "%s/" CLIB_LIB_DIR "/vpp_plugins", path, path); vec_add1 (s, 0); vlib_plugin_path = (char *) s; - s = format (0, "%s/lib/" CLIB_TARGET_TRIPLET "/vpp_api_test_plugins:" - "%s/lib/vpp_api_test_plugins", path, path); + s = format (0, "%s/" CLIB_LIB_DIR "/vpp_api_test_plugins", path, path); vec_add1 (s, 0); vat_plugin_path = (char *) s; } @@ -106,15 +104,15 @@ int main (int argc, char *argv[]) { int i; - vlib_main_t *vm = &vlib_global_main; void vl_msg_api_set_first_available_msg_id (u16); uword main_heap_size = (1ULL << 30); u8 *sizep; u32 size; clib_mem_page_sz_t main_heap_log2_page_sz = CLIB_MEM_PAGE_SZ_DEFAULT; + clib_mem_page_sz_t default_log2_hugepage_sz = CLIB_MEM_PAGE_SZ_UNKNOWN; unformat_input_t input, sub_input; u8 *s = 0, *v = 0; - int main_core = 1; + int main_core = ~0; cpu_set_t cpuset; void *main_heap; @@ -292,6 +290,10 @@ defaulted: unformat_log2_page_size, &main_heap_log2_page_sz)) ; + else if (unformat (&sub_input, "default-hugepage-size %U", + unformat_log2_page_size, + &default_log2_hugepage_sz)) + ; else { fformat (stderr, "unknown 'memory' config input '%U'\n", @@ -314,12 +316,15 @@ defaulted: unformat_free (&input); /* set process affinity for main thread */ - CPU_ZERO (&cpuset); - CPU_SET (main_core, &cpuset); - pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); + if (main_core != ~0) + { + CPU_ZERO (&cpuset); + CPU_SET (main_core, &cpuset); + pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); + } /* Set up the plugin message ID allocator right now... */ - vl_msg_api_set_first_available_msg_id (VL_MSG_FIRST_AVAILABLE); + vl_msg_api_set_first_available_msg_id (VL_MSG_MEMCLNT_LAST + 1); /* destroy temporary heap and create main one */ clib_mem_destroy (); @@ -330,11 +335,13 @@ defaulted: /* Figure out which numa runs the main thread */ __os_numa_index = clib_get_current_numa_node (); + if (default_log2_hugepage_sz != CLIB_MEM_PAGE_SZ_UNKNOWN) + clib_mem_set_log2_default_hugepage_size (default_log2_hugepage_sz); + /* and use the main heap as that numa's numa heap */ clib_mem_set_per_numa_heap (main_heap); - - vm->init_functions_called = hash_create (0, /* value bytes */ 0); - vpe_main_init (vm); + vlib_main_init (); + vpe_main_init (vlib_get_first_main ()); return vlib_unix_main (argc, argv); } else @@ -399,13 +406,13 @@ test_plugin_path_config (vlib_main_t * vm, unformat_input_t * input) VLIB_CONFIG_FUNCTION (test_plugin_path_config, "test_plugin_path"); void vl_msg_api_post_mortem_dump (void); -void elog_post_mortem_dump (void); +void vlib_post_mortem_dump (void); void os_panic (void) { vl_msg_api_post_mortem_dump (); - elog_post_mortem_dump (); + vlib_post_mortem_dump (); abort (); } @@ -428,7 +435,7 @@ os_exit (int code) recursion_block = 1; vl_msg_api_post_mortem_dump (); - elog_post_mortem_dump (); + vlib_post_mortem_dump (); vhost_user_unmap_all (); abort (); }