Re: [PATCH] openmp: Fix up gomp_affinity_init_numa_domains

2022-03-18 Thread Thomas Schwinge
Hi Jakub!

On 2022-03-17T17:16:04+0100, Jakub Jelinek  wrote:
> On Thu, Nov 11, 2021 at 02:14:05PM +0100, Thomas Schwinge wrote:
>> There appears to be yet another issue: there still are quite a number of
>> 'FAIL: libgomp.c/places-10.c execution test' reports on
>> .  Also in my testing testing, on a system
>> where '/sys/devices/system/node/online' contains '0-1', I get a FAIL:
>>
>> [...]
>> OPENMP DISPLAY ENVIRONMENT BEGIN
>>   _OPENMP = '201511'
>>   OMP_DYNAMIC = 'FALSE'
>>   OMP_NESTED = 'FALSE'
>>   OMP_NUM_THREADS = '8'
>>   OMP_SCHEDULE = 'DYNAMIC'
>>   OMP_PROC_BIND = 'TRUE'
>>   OMP_PLACES = '{0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30},{FAIL: 
>> libgomp.c/places-10.c execution test
>
> I've finally managed to debug this (by dumping used /sys/ files from
> an affected system in Fedora build system, replacing /sys/ with /tmp/
> in gcc sources and populating there those files), I think following patch
> ought to fix it.
> I'll test it tonight in my bootstrap/regtest (but that's a non-numa box),
> can somebody with a box where places-10.c fails reliably test this too?

Thanks, confirmed to resolve all the 'libgomp.c/places-10.c' FAILs that
I've seen on different systems.


Grüße
 Thomas


> 2022-03-17  Jakub Jelinek  
>
>   * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
>   variable next to pl variable.
>
> --- libgomp/config/linux/affinity.c.jj2022-01-11 23:11:23.887269117 
> +0100
> +++ libgomp/config/linux/affinity.c   2022-03-17 17:05:38.129008653 +0100
> @@ -411,11 +411,11 @@ gomp_affinity_init_numa_domains (unsigne
>   {
> char *p = line;
> void *pl = NULL;
> +   bool seen = false;
>
> while (*p && *p != '\n')
>   {
> unsigned long first, last;
> -   bool seen = false;
>
> errno = 0;
> first = strtoul (p, , 10);
>
>
>   Jakub
-
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


[PATCH] openmp: Fix up gomp_affinity_init_numa_domains

2022-03-17 Thread Jakub Jelinek via Gcc-patches
Hi!

On Thu, Nov 11, 2021 at 02:14:05PM +0100, Thomas Schwinge wrote:
> There appears to be yet another issue: there still are quite a number of
> 'FAIL: libgomp.c/places-10.c execution test' reports on
> .  Also in my testing testing, on a system
> where '/sys/devices/system/node/online' contains '0-1', I get a FAIL:
> 
> [...]
> OPENMP DISPLAY ENVIRONMENT BEGIN
>   _OPENMP = '201511'
>   OMP_DYNAMIC = 'FALSE'
>   OMP_NESTED = 'FALSE'
>   OMP_NUM_THREADS = '8'
>   OMP_SCHEDULE = 'DYNAMIC'
>   OMP_PROC_BIND = 'TRUE'
>   OMP_PLACES = '{0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30},{FAIL: 
> libgomp.c/places-10.c execution test

I've finally managed to debug this (by dumping used /sys/ files from
an affected system in Fedora build system, replacing /sys/ with /tmp/
in gcc sources and populating there those files), I think following patch
ought to fix it.
I'll test it tonight in my bootstrap/regtest (but that's a non-numa box),
can somebody with a box where places-10.c fails reliably test this too?

Thanks.

2022-03-17  Jakub Jelinek  

* config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
variable next to pl variable.

--- libgomp/config/linux/affinity.c.jj  2022-01-11 23:11:23.887269117 +0100
+++ libgomp/config/linux/affinity.c 2022-03-17 17:05:38.129008653 +0100
@@ -411,11 +411,11 @@ gomp_affinity_init_numa_domains (unsigne
{
  char *p = line;
  void *pl = NULL;
+ bool seen = false;
 
  while (*p && *p != '\n')
{
  unsigned long first, last;
- bool seen = false;
 
  errno = 0;
  first = strtoul (p, , 10);


Jakub