diff options
author | Damjan Marion <damarion@cisco.com> | 2021-09-21 11:38:04 +0200 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2021-09-22 08:29:23 +0000 |
commit | ff011b256012157e2b7ccf2b9298a24b1322c770 (patch) | |
tree | 15d6ea44f0b5697f260efa8030d1865aa4e8431f /src/vpp | |
parent | 266929f2e498a8748edd8fc6ba5ef4e28226d04c (diff) |
vppinfra: make default hugepage size configurable
i.e.
memory {
default-hugepage-size 1G
}
Type: improvement
Change-Id: I822afb51712ae92f4e4992b8ffa33dcb15ccaef1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vpp')
-rw-r--r-- | src/vpp/conf/startup.conf | 2 | ||||
-rw-r--r-- | src/vpp/vnet/main.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/vpp/conf/startup.conf b/src/vpp/conf/startup.conf index d96a4307231..ee10faa8683 100644 --- a/src/vpp/conf/startup.conf +++ b/src/vpp/conf/startup.conf @@ -51,6 +51,8 @@ socksvr { ## special keyword 'default-hugepage' will use system default hugepage ## size # main-heap-page-size 1G + ## Set the default huge page size. + # default-hugepage-size 1G #} cpu { diff --git a/src/vpp/vnet/main.c b/src/vpp/vnet/main.c index bf1eb7a1d1d..695c358f765 100644 --- a/src/vpp/vnet/main.c +++ b/src/vpp/vnet/main.c @@ -111,6 +111,7 @@ main (int argc, char *argv[]) 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; @@ -291,6 +292,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", @@ -329,6 +334,9 @@ 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); vlib_main_init (); |