diff options
Diffstat (limited to 'src/vppinfra/unix-misc.c')
-rw-r--r-- | src/vppinfra/unix-misc.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/vppinfra/unix-misc.c b/src/vppinfra/unix-misc.c index 6a7328bd873..623b2e98555 100644 --- a/src/vppinfra/unix-misc.c +++ b/src/vppinfra/unix-misc.c @@ -37,8 +37,12 @@ #include <vppinfra/error.h> #include <vppinfra/os.h> +#include <vppinfra/bitmap.h> #include <vppinfra/unix.h> #include <vppinfra/format.h> +#ifdef __linux__ +#include <vppinfra/linux/sysfs.h> +#endif #include <sys/stat.h> #include <sys/types.h> @@ -260,6 +264,26 @@ os_get_nthreads (void) return 1; } +__clib_export clib_bitmap_t * +os_get_online_cpu_core_bitmap () +{ +#if __linux__ + return clib_sysfs_list_to_bitmap ("/sys/devices/system/cpu/online"); +#else + return 0; +#endif +} + +__clib_export clib_bitmap_t * +os_get_online_cpu_node_bitmap () +{ +#if __linux__ + return clib_sysfs_list_to_bitmap ("/sys/devices/system/node/online"); +#else + return 0; +#endif +} + /* * fd.io coding-style-patch-verification: ON * |