From: Oscar Shiang <hidden> Date: 2021-12-23 14:01:31
numa_initialize() returns 0 only when numa_available() returns -1,
which means that libnuma is unavailable.
The return values in the comment should be corrected to 1 if all
functions are available and 0 when the functions are unavailable.
Signed-off-by: Oscar Shiang <redacted>
---
src/lib/rt-numa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
From: Oscar Shiang <hidden> Date: 2021-12-25 07:18:06
Based on that, neither 0 nor 1 is defined.
Yes, it is.
But I think the comment is to describe the return value of numa_initialize()
not for numa_available().
That is also the reason why it has 0 and 1 as its return values.
Oscar
From: John Kacur <jkacur@redhat.com> Date: 2021-12-25 16:43:36
On Thu, 23 Dec 2021, Oscar Shiang wrote:
quoted hunk
numa_initialize() returns 0 only when numa_available() returns -1,
which means that libnuma is unavailable.
The return values in the comment should be corrected to 1 if all
functions are available and 0 when the functions are unavailable.
Signed-off-by: Oscar Shiang <redacted>
---
src/lib/rt-numa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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