On Thu, 23 Dec 2021, Sebastian Andrzej Siewior wrote: > On 2021-12-23 22:01:07 [+0800], Oscar Shiang wrote: > > --- a/src/lib/rt-numa.c > > +++ b/src/lib/rt-numa.c > > @@ -15,7 +15,7 @@ > > > > /* > > * numa_available() must be called before any other calls to the numa library > > - * returns 0 if numa is available, or 1 if numa is not available > > + * returns 1 if numa is available, or 0 if numa is not available > > */ > > To quote the man page: > > Before any other calls in this library can be used numa_available() > must be called. If it returns -1, all other functions in this library > are undefined. > > Based on that, neither 0 nor 1 is defined. > > Sebastian > Right, but the numa_initialize function is meant to wrap that in such a way that we only call numa_available once, and then subsequent calls will return 1 (or true) for numa is available or 0 (false) if it is not available. This wrapper could probably be omitted, but it's supposed to make the code more readable. This still isn't entirely cleaned up after this functionality was removed during the JSON stuff that mistakenly assumed numa is always available at runtime. (it might not be for example on some embedded platforms). In some case there might still be paths through the code that don't call non-numa versions of the functions when numa is not available. It's on my list to fix. John