]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgomp: call numa_available first when using libnuma
authorTobias Burnus <tobias@codesourcery.com>
Thu, 17 Aug 2023 13:20:55 +0000 (15:20 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Thu, 17 Aug 2023 13:20:55 +0000 (15:20 +0200)
commit8f3c4517b1fff965f2bdedcf376dcfd91cda422b
tree139c56f37270a56083052602196221be698c5ee3
parent84a5be47f8e13839efdf0e06f02ef1a0cacf5e34
libgomp: call numa_available first when using libnuma

The documentation requires that numa_available() is called and only
when successful, other libnuma function may be called. Internally,
it does a syscall to get_mempolicy with flag=0 (which would return
the default policy if mode were not NULL). If this returns -1 (and
not 0) and errno == ENOSYS, the Linux kernel does not have the
get_mempolicy syscall function; if so, numa_available() returns -1
(otherwise: 0).

libgomp/

PR libgomp/111024
* allocator.c (gomp_init_libnuma): Call numa_available; if
not available or not returning 0, disable libnuma usage.
libgomp/allocator.c