@@ -455,11 +455,15 @@ static void *alloc_mmap(void *address){
455
455
}
456
456
457
457
if (map_address != (void * )-1 ) {
458
+ #if defined(SMP ) && !defined(USE_OPENMP )
458
459
LOCK_COMMAND (& alloc_lock );
460
+ #endif
459
461
release_info [release_pos ].address = map_address ;
460
462
release_info [release_pos ].func = alloc_mmap_free ;
461
463
release_pos ++ ;
464
+ #if defined(SMP ) && !defined(USE_OPENMP )
462
465
UNLOCK_COMMAND (& alloc_lock );
466
+ #endif
463
467
}
464
468
465
469
#ifdef OS_LINUX
@@ -601,14 +605,18 @@ static void *alloc_mmap(void *address){
601
605
#if defined(OS_LINUX ) && !defined(NO_WARMUP )
602
606
}
603
607
#endif
604
- LOCK_COMMAND (& alloc_lock );
605
608
606
609
if (map_address != (void * )-1 ) {
610
+ #if defined(SMP ) && !defined(USE_OPENMP )
611
+ LOCK_COMMAND (& alloc_lock );
612
+ #endif
607
613
release_info [release_pos ].address = map_address ;
608
614
release_info [release_pos ].func = alloc_mmap_free ;
609
615
release_pos ++ ;
616
+ #if defined(SMP ) && !defined(USE_OPENMP )
617
+ UNLOCK_COMMAND (& alloc_lock );
618
+ #endif
610
619
}
611
- UNLOCK_COMMAND (& alloc_lock );
612
620
613
621
return map_address ;
614
622
}
@@ -1007,7 +1015,10 @@ void *blas_memory_alloc(int procpos){
1007
1015
NULL ,
1008
1016
};
1009
1017
void * (* * func )(void * address );
1018
+
1019
+ #if defined(SMP ) && !defined(USE_OPENMP )
1010
1020
LOCK_COMMAND (& alloc_lock );
1021
+ #endif
1011
1022
1012
1023
if (!memory_initialized ) {
1013
1024
@@ -1041,7 +1052,9 @@ void *blas_memory_alloc(int procpos){
1041
1052
memory_initialized = 1 ;
1042
1053
1043
1054
}
1055
+ #if defined(SMP ) && !defined(USE_OPENMP )
1044
1056
UNLOCK_COMMAND (& alloc_lock );
1057
+ #endif
1045
1058
1046
1059
#ifdef DEBUG
1047
1060
printf ("Alloc Start ...\n" );
@@ -1056,12 +1069,15 @@ void *blas_memory_alloc(int procpos){
1056
1069
1057
1070
do {
1058
1071
if (!memory [position ].used && (memory [position ].pos == mypos )) {
1072
+ #if defined(SMP ) && !defined(USE_OPENMP )
1059
1073
LOCK_COMMAND (& alloc_lock );
1074
+ #endif
1060
1075
/* blas_lock(&memory[position].lock);*/
1061
1076
1062
1077
if (!memory [position ].used ) goto allocation ;
1063
-
1078
+ #if defined( SMP ) && !defined( USE_OPENMP )
1064
1079
UNLOCK_COMMAND (& alloc_lock );
1080
+ #endif
1065
1081
/* blas_unlock(&memory[position].lock);*/
1066
1082
}
1067
1083
@@ -1076,12 +1092,15 @@ void *blas_memory_alloc(int procpos){
1076
1092
1077
1093
do {
1078
1094
/* if (!memory[position].used) { */
1095
+ #if defined(SMP ) && !defined(USE_OPENMP )
1079
1096
LOCK_COMMAND (& alloc_lock );
1097
+ #endif
1080
1098
/* blas_lock(&memory[position].lock);*/
1081
1099
1082
1100
if (!memory [position ].used ) goto allocation ;
1083
-
1101
+ #if defined( SMP ) && !defined( USE_OPENMP )
1084
1102
UNLOCK_COMMAND (& alloc_lock );
1103
+ #endif
1085
1104
/* blas_unlock(&memory[position].lock);*/
1086
1105
/* } */
1087
1106
@@ -1098,8 +1117,10 @@ void *blas_memory_alloc(int procpos){
1098
1117
#endif
1099
1118
1100
1119
memory [position ].used = 1 ;
1101
-
1120
+ #if defined( SMP ) && !defined( USE_OPENMP )
1102
1121
UNLOCK_COMMAND (& alloc_lock );
1122
+ #endif
1123
+
1103
1124
/* blas_unlock(&memory[position].lock);*/
1104
1125
1105
1126
if (!memory [position ].addr ) {
@@ -1146,9 +1167,13 @@ void *blas_memory_alloc(int procpos){
1146
1167
1147
1168
} while ((BLASLONG )map_address == -1 );
1148
1169
1170
+ #if defined(SMP ) && !defined(USE_OPENMP )
1149
1171
LOCK_COMMAND (& alloc_lock );
1172
+ #endif
1150
1173
memory [position ].addr = map_address ;
1174
+ #if defined(SMP ) && !defined(USE_OPENMP )
1151
1175
UNLOCK_COMMAND (& alloc_lock );
1176
+ #endif
1152
1177
1153
1178
#ifdef DEBUG
1154
1179
printf (" Mapping Succeeded. %p(%d)\n" , (void * )memory [position ].addr , position );
@@ -1165,7 +1190,9 @@ void *blas_memory_alloc(int procpos){
1165
1190
1166
1191
if (memory_initialized == 1 ) {
1167
1192
1193
+ #if defined(SMP ) && !defined(USE_OPENMP )
1168
1194
LOCK_COMMAND (& alloc_lock );
1195
+ #endif
1169
1196
1170
1197
if (memory_initialized == 1 ) {
1171
1198
@@ -1174,8 +1201,9 @@ void *blas_memory_alloc(int procpos){
1174
1201
memory_initialized = 2 ;
1175
1202
}
1176
1203
1204
+ #if defined(SMP ) && !defined(USE_OPENMP )
1177
1205
UNLOCK_COMMAND (& alloc_lock );
1178
-
1206
+ #endif
1179
1207
}
1180
1208
#endif
1181
1209
@@ -1202,8 +1230,9 @@ void blas_memory_free(void *free_area){
1202
1230
#endif
1203
1231
1204
1232
position = 0 ;
1233
+ #if defined(SMP ) && !defined(USE_OPENMP )
1205
1234
LOCK_COMMAND (& alloc_lock );
1206
-
1235
+ #endif
1207
1236
while ((position < NUM_BUFFERS ) && (memory [position ].addr != free_area ))
1208
1237
position ++ ;
1209
1238
@@ -1217,7 +1246,9 @@ void blas_memory_free(void *free_area){
1217
1246
WMB ;
1218
1247
1219
1248
memory [position ].used = 0 ;
1249
+ #if defined(SMP ) && !defined(USE_OPENMP )
1220
1250
UNLOCK_COMMAND (& alloc_lock );
1251
+ #endif
1221
1252
1222
1253
#ifdef DEBUG
1223
1254
printf ("Unmap Succeeded.\n\n" );
@@ -1232,8 +1263,9 @@ void blas_memory_free(void *free_area){
1232
1263
for (position = 0 ; position < NUM_BUFFERS ; position ++ )
1233
1264
printf ("%4ld %p : %d\n" , position , memory [position ].addr , memory [position ].used );
1234
1265
#endif
1266
+ #if defined(SMP ) && !defined(USE_OPENMP )
1235
1267
UNLOCK_COMMAND (& alloc_lock );
1236
-
1268
+ #endif
1237
1269
return ;
1238
1270
}
1239
1271
0 commit comments