vppinfra: Only prealloc hugepages on Linux 73/40273/2
authorTom Jones <thj@freebsd.org>
Fri, 26 Jan 2024 17:34:51 +0000 (17:34 +0000)
committerDamjan Marion <dmarion@0xa5.net>
Tue, 13 Feb 2024 16:16:43 +0000 (16:16 +0000)
FreeBSD doesn't support sysfs or preallocating hugepages directly.  In
lieu of refactoring clib_sysfs calls place this one behind an #ifdef
linux.

Type: improvement
Change-Id: I4079ca70175e4cec44d913db2b0407a3ca6306c9
Signed-off-by: Tom Jones <thj@freebsd.org>
src/vppinfra/pmalloc.c

index ee80d10..0bd3434 100644 (file)
@@ -241,6 +241,7 @@ pmalloc_map_pages (clib_pmalloc_main_t * pm, clib_pmalloc_arena_t * a,
       return 0;
     }
 
+#ifdef __linux__
   if (a->log2_subpage_sz != clib_mem_get_log2_page_size ())
     {
       pm->error = clib_sysfs_prealloc_hugepages (numa_node,
@@ -249,6 +250,7 @@ pmalloc_map_pages (clib_pmalloc_main_t * pm, clib_pmalloc_arena_t * a,
       if (pm->error)
        return 0;
     }
+#endif /* __linux__ */
 
   rv = clib_mem_set_numa_affinity (numa_node, /* force */ 1);
   if (rv == CLIB_MEM_ERROR && numa_node != 0)