Hi Prathamesh,

On 13.07.23 18:13, Prathamesh Kulkarni wrote:

The newly added tests in above commit -- alloc-11.c and alloc-12.c
seem to fail during execution on armv8l-unknown-linux-gnueabihf:

thanks for the report and sorry for the breakage. While being aware that
libnuma is potentially not available, the code actually did not properly
test for it. (That 200+ packages require libnuma on this system, did not
help with testing it without, though.)

I have committed the attached obvious patch as r14-2514-g407d68daed00e0,
which hopefully fixes all issues.

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
München, HRB 106955
commit 407d68daed00e040a7d9545b2a18aa27bf93a106
Author: Tobias Burnus <tob...@codesourcery.com>
Date:   Fri Jul 14 09:14:37 2023 +0200

    libgomp: Fix allocator handling for Linux when libnuma is not available
    
    Follow up to r14-2462-g450b05ce54d3f0.  The case that libnuma was not
    available at runtime was not properly handled; now it falls back to
    the normal malloc.
    
    libgomp/
    
            * allocator.c (omp_init_allocator): Check whether symbol from
            dlopened libnuma is available before using libnuma for
            allocations.
---
 libgomp/allocator.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libgomp/allocator.c b/libgomp/allocator.c
index b3187ab2911..90f2dcb60d6 100644
--- a/libgomp/allocator.c
+++ b/libgomp/allocator.c
@@ -377,8 +377,9 @@ omp_init_allocator (omp_memspace_handle_t memspace, int ntraits,
 #ifdef LIBGOMP_USE_LIBNUMA
   if (data.memkind == GOMP_MEMKIND_NONE && data.partition == omp_atv_nearest)
     {
-      data.memkind = GOMP_MEMKIND_LIBNUMA;
       libnuma_data = gomp_get_libnuma ();
+      if (libnuma_data->numa_alloc_local != NULL)
+	data.memkind = GOMP_MEMKIND_LIBNUMA;
     }
 #endif
 

Reply via email to