summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src
diff options
context:
space:
mode:
Diffstat (limited to 'openmp/runtime/src')
-rw-r--r--openmp/runtime/src/kmp.h2
-rw-r--r--openmp/runtime/src/kmp_affinity.cpp4
-rw-r--r--openmp/runtime/src/kmp_settings.c2
-rw-r--r--openmp/runtime/src/z_Linux_util.c14
-rw-r--r--openmp/runtime/src/z_Windows_NT_util.c4
5 files changed, 14 insertions, 12 deletions
diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h
index e3c140172b1..1addf4b9aba 100644
--- a/openmp/runtime/src/kmp.h
+++ b/openmp/runtime/src/kmp.h
@@ -489,6 +489,8 @@ typedef int PACKED_REDUCTION_METHOD_T;
extern size_t __kmp_affin_mask_size;
# define KMP_AFFINITY_CAPABLE() (__kmp_affin_mask_size > 0)
+# define KMP_AFFINITY_DISABLE() (__kmp_affin_mask_size = 0)
+# define KMP_AFFINITY_ENABLE(mask_size) (__kmp_affin_mask_size = mask_size)
# define KMP_CPU_SETSIZE (__kmp_affin_mask_size * CHAR_BIT)
# if KMP_OS_LINUX
diff --git a/openmp/runtime/src/kmp_affinity.cpp b/openmp/runtime/src/kmp_affinity.cpp
index 7f1a29d53f3..eb87c2f441b 100644
--- a/openmp/runtime/src/kmp_affinity.cpp
+++ b/openmp/runtime/src/kmp_affinity.cpp
@@ -3426,7 +3426,7 @@ __kmp_aux_affinity_initialize(void)
KMP_WARNING(ErrorInitializeAffinity);
}
__kmp_affinity_type = affinity_none;
- __kmp_affin_mask_size = 0;
+ KMP_AFFINITY_DISABLE();
return;
}
}
@@ -3700,7 +3700,7 @@ __kmp_aux_affinity_initialize(void)
KMP_WARNING(ErrorInitializeAffinity);
}
__kmp_affinity_type = affinity_none;
- __kmp_affin_mask_size = 0;
+ KMP_AFFINITY_DISABLE();
return;
}
diff --git a/openmp/runtime/src/kmp_settings.c b/openmp/runtime/src/kmp_settings.c
index b6928d4943f..f22fdc2432f 100644
--- a/openmp/runtime/src/kmp_settings.c
+++ b/openmp/runtime/src/kmp_settings.c
@@ -5101,7 +5101,7 @@ __kmp_env_initialize( char const * string ) {
//
const char *var = "KMP_AFFINITY";
if ( __kmp_affinity_type == affinity_disabled ) {
- __kmp_affin_mask_size = 0; // should already be 0
+ KMP_AFFINITY_DISABLE();
}
else if ( ! KMP_AFFINITY_CAPABLE() ) {
__kmp_affinity_determine_capable( var );
diff --git a/openmp/runtime/src/z_Linux_util.c b/openmp/runtime/src/z_Linux_util.c
index 4e3236db564..75b61f12855 100644
--- a/openmp/runtime/src/z_Linux_util.c
+++ b/openmp/runtime/src/z_Linux_util.c
@@ -277,7 +277,7 @@ __kmp_affinity_determine_capable(const char *env_var)
__kmp_msg_null
);
}
- __kmp_affin_mask_size = 0; // should already be 0
+ KMP_AFFINITY_DISABLE();
KMP_INTERNAL_FREE(buf);
return;
}
@@ -305,11 +305,11 @@ __kmp_affinity_determine_capable(const char *env_var)
__kmp_msg_null
);
}
- __kmp_affin_mask_size = 0; // should already be 0
+ KMP_AFFINITY_DISABLE();
KMP_INTERNAL_FREE(buf);
}
if (errno == EFAULT) {
- __kmp_affin_mask_size = gCode;
+ KMP_AFFINITY_ENABLE(gCode);
KA_TRACE(10, ( "__kmp_affinity_determine_capable: "
"affinity supported (mask size %d)\n",
(int)__kmp_affin_mask_size));
@@ -353,7 +353,7 @@ __kmp_affinity_determine_capable(const char *env_var)
__kmp_msg_null
);
}
- __kmp_affin_mask_size = 0; // should already be 0
+ KMP_AFFINITY_DISABLE();
KMP_INTERNAL_FREE(buf);
return;
}
@@ -384,12 +384,12 @@ __kmp_affinity_determine_capable(const char *env_var)
__kmp_msg_null
);
}
- __kmp_affin_mask_size = 0; // should already be 0
+ KMP_AFFINITY_DISABLE();
KMP_INTERNAL_FREE(buf);
return;
}
if (errno == EFAULT) {
- __kmp_affin_mask_size = gCode;
+ KMP_AFFINITY_ENABLE(gCode);
KA_TRACE(10, ( "__kmp_affinity_determine_capable: "
"affinity supported (mask size %d)\n",
(int)__kmp_affin_mask_size));
@@ -405,7 +405,7 @@ __kmp_affinity_determine_capable(const char *env_var)
//
// Affinity is not supported
//
- __kmp_affin_mask_size = 0;
+ KMP_AFFINITY_DISABLE();
KA_TRACE(10, ( "__kmp_affinity_determine_capable: "
"cannot determine mask size - affinity not supported\n"));
if (__kmp_affinity_verbose || (__kmp_affinity_warnings
diff --git a/openmp/runtime/src/z_Windows_NT_util.c b/openmp/runtime/src/z_Windows_NT_util.c
index 62fd0e47c4c..023a4db7461 100644
--- a/openmp/runtime/src/z_Windows_NT_util.c
+++ b/openmp/runtime/src/z_Windows_NT_util.c
@@ -763,9 +763,9 @@ __kmp_affinity_determine_capable( const char *env_var )
//
#if KMP_GROUP_AFFINITY
- __kmp_affin_mask_size = __kmp_num_proc_groups * sizeof(kmp_affin_mask_t);
+ KMP_AFFINITY_ENABLE(__kmp_num_proc_groups*sizeof(kmp_affin_mask_t));
#else
- __kmp_affin_mask_size = sizeof(kmp_affin_mask_t);
+ KMP_AFFINITY_ENABLE(sizeof(kmp_affin_mask_t));
#endif
KA_TRACE( 10, (
OpenPOWER on IntegriCloud