diff options
-rw-r--r-- | openmp/runtime/src/kmp_csupport.c | 4 | ||||
-rw-r--r-- | openmp/runtime/src/kmp_stats.h | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/openmp/runtime/src/kmp_csupport.c b/openmp/runtime/src/kmp_csupport.c index 62d65d8d902..42d5e41c84f 100644 --- a/openmp/runtime/src/kmp_csupport.c +++ b/openmp/runtime/src/kmp_csupport.c @@ -1114,6 +1114,7 @@ __kmpc_critical( ident_t * loc, kmp_int32 global_tid, kmp_critical_name * crit ) __kmpc_critical_with_hint(loc, global_tid, crit, omp_lock_hint_none); #else KMP_COUNT_BLOCK(OMP_CRITICAL); + KMP_TIME_BLOCK(OMP_critical_wait); /* Time spent waiting to enter the critical section */ kmp_user_lock_p lck; KC_TRACE( 10, ("__kmpc_critical: called T#%d\n", global_tid ) ); @@ -1155,6 +1156,7 @@ __kmpc_critical( ident_t * loc, kmp_int32 global_tid, kmp_critical_name * crit ) __kmp_itt_critical_acquired( lck ); #endif /* USE_ITT_BUILD */ + KMP_START_EXPLICIT_TIMER(OMP_critical); KA_TRACE( 15, ("__kmpc_critical: done T#%d\n", global_tid )); #endif // KMP_USE_DYNAMIC_LOCK } @@ -1359,7 +1361,7 @@ __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid, kmp_critical_name *crit) #endif #endif // KMP_USE_DYNAMIC_LOCK - + KMP_STOP_EXPLICIT_TIMER(OMP_critical); KA_TRACE( 15, ("__kmpc_end_critical: done T#%d\n", global_tid )); } diff --git a/openmp/runtime/src/kmp_stats.h b/openmp/runtime/src/kmp_stats.h index 9f81580d71d..32841ab9d56 100644 --- a/openmp/runtime/src/kmp_stats.h +++ b/openmp/runtime/src/kmp_stats.h @@ -111,6 +111,8 @@ enum stats_flags_e { macro (FOR_static_scheduling, 0, arg) \ macro (FOR_dynamic_scheduling, 0, arg) \ macro (OMP_task, 0, arg) \ + macro (OMP_critical, 0, arg) \ + macro (OMP_critical_wait, 0, arg) \ macro (OMP_single, 0, arg) \ macro (OMP_master, 0, arg) \ macro (OMP_set_numthreads, stats_flags_e::noUnits | stats_flags_e::noTotal, arg) \ @@ -198,6 +200,7 @@ enum stats_flags_e { #define KMP_FOREACH_EXPLICIT_TIMER(macro, arg) \ macro(OMP_serial, 0, arg) \ macro(OMP_start_end, 0, arg) \ + macro(OMP_critical, 0, arg) \ macro(OMP_single, 0, arg) \ macro(OMP_master, 0, arg) \ KMP_FOREACH_EXPLICIT_DEVELOPER_TIMER(macro,arg) \ |