According to numa(3) [1], all numa functions are undefined if numa_available() returns -1. Thus numa_initialize() should not return 0, which indicates libnuma is available, if numa_available() returns -1. It should return 1 instead. [1]: https://man7.org/linux/man-pages/man3/numa.3.html Signed-off-by: Oscar Shiang <oscar0225@xxxxxxxxxxx> --- src/lib/rt-numa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/rt-numa.c b/src/lib/rt-numa.c index bb0121a..47a643e 100644 --- a/src/lib/rt-numa.c +++ b/src/lib/rt-numa.c @@ -25,7 +25,7 @@ int numa_initialize(void) if (is_initialized == 1) return numa; - if (numa_available() != -1) + if (numa_available() == -1) numa = 1; is_initialized = 1; -- 2.25.1