From e1a04b4659a6cc7ef0f777622b38c3da3535b92d Mon Sep 17 00:00:00 2001 From: Joachim Protze Date: Wed, 15 Aug 2018 13:54:28 +0000 Subject: [PATCH] [OMPT] Remove OMPT idle callback The idle callback was removed from the spec as of TR7. This removes it from the implementation. Patch provided by Simon Convent Reviewers: hbae, protze.joachim Differential Revision: https://reviews.llvm.org/D48362 llvm-svn: 339771 --- openmp/runtime/src/include/50/ompt.h.var | 5 ----- openmp/runtime/src/kmp_wait_release.h | 17 ----------------- openmp/runtime/src/ompt-event-specific.h | 2 -- openmp/runtime/test/ompt/callback.h | 16 ---------------- openmp/runtime/test/ompt/misc/idle.c | 32 -------------------------------- 5 files changed, 72 deletions(-) delete mode 100644 openmp/runtime/test/ompt/misc/idle.c diff --git a/openmp/runtime/src/include/50/ompt.h.var b/openmp/runtime/src/include/50/ompt.h.var index 21b4c46..56c5834 100644 --- a/openmp/runtime/src/include/50/ompt.h.var +++ b/openmp/runtime/src/include/50/ompt.h.var @@ -151,7 +151,6 @@ macro (ompt_callback_flush, ompt_callback_flush_t, 29) /* after executing flush */ \ \ macro (ompt_callback_cancel, ompt_callback_cancel_t, 30) /* cancel innermost binding region */ \ - macro (ompt_callback_idle, ompt_callback_idle_t, 31) /* begin or end idle state */ @@ -490,10 +489,6 @@ typedef void (*ompt_callback_master_t) ( const void *codeptr_ra /* return address of runtime call */ ); -typedef void (*ompt_callback_idle_t) ( - ompt_scope_endpoint_t endpoint /* endpoint of idle time */ -); - typedef enum ompt_work_type_t { ompt_work_loop = 1, ompt_work_sections = 2, diff --git a/openmp/runtime/src/kmp_wait_release.h b/openmp/runtime/src/kmp_wait_release.h index 71c334d..ec489d1 100644 --- a/openmp/runtime/src/kmp_wait_release.h +++ b/openmp/runtime/src/kmp_wait_release.h @@ -142,11 +142,6 @@ static inline void __ompt_implicit_task_end(kmp_info_t *this_thr, ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_end, NULL, tId, 0, ds_tid); } -#if OMPT_OPTIONAL - if (ompt_enabled.ompt_callback_idle) { - ompt_callbacks.ompt_callback(ompt_callback_idle)(ompt_scope_begin); - } -#endif // return to idle state this_thr->th.ompt_thread_info.state = omp_state_idle; } else { @@ -266,13 +261,6 @@ final_spin=FALSE) pId = NULL; tId = &(this_thr->th.ompt_thread_info.task_data); } -#if OMPT_OPTIONAL - if (ompt_entry_state == omp_state_idle) { - if (ompt_enabled.ompt_callback_idle) { - ompt_callbacks.ompt_callback(ompt_callback_idle)(ompt_scope_begin); - } - } else -#endif if (final_spin && (__kmp_tasking_mode == tskm_immediate_exec || this_thr->th.th_task_team == NULL)) { // implicit task is done. Either no taskqueue, or task-team finished @@ -453,11 +441,6 @@ final_spin=FALSE) } #endif if (ompt_exit_state == omp_state_idle) { -#if OMPT_OPTIONAL - if (ompt_enabled.ompt_callback_idle) { - ompt_callbacks.ompt_callback(ompt_callback_idle)(ompt_scope_end); - } -#endif this_thr->th.ompt_thread_info.state = omp_state_overhead; } } diff --git a/openmp/runtime/src/ompt-event-specific.h b/openmp/runtime/src/ompt-event-specific.h index 4a36ef3..305b176 100644 --- a/openmp/runtime/src/ompt-event-specific.h +++ b/openmp/runtime/src/ompt-event-specific.h @@ -105,6 +105,4 @@ #define ompt_callback_cancel_implemented ompt_event_MAY_ALWAYS_OPTIONAL -#define ompt_callback_idle_implemented ompt_event_MAY_ALWAYS_OPTIONAL - #endif diff --git a/openmp/runtime/test/ompt/callback.h b/openmp/runtime/test/ompt/callback.h index f1191ad..1ded070 100755 --- a/openmp/runtime/test/ompt/callback.h +++ b/openmp/runtime/test/ompt/callback.h @@ -414,21 +414,6 @@ on_ompt_callback_cancel( } static void -on_ompt_callback_idle( - ompt_scope_endpoint_t endpoint) -{ - switch(endpoint) - { - case ompt_scope_begin: - printf("%" PRIu64 ": ompt_event_idle_begin:\n", ompt_get_thread_data()->value); - break; - case ompt_scope_end: - printf("%" PRIu64 ": ompt_event_idle_end:\n", ompt_get_thread_data()->value); - break; - } -} - -static void on_ompt_callback_implicit_task( ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, @@ -732,7 +717,6 @@ int ompt_initialize( register_callback(ompt_callback_control_tool); register_callback(ompt_callback_flush); register_callback(ompt_callback_cancel); - register_callback(ompt_callback_idle); register_callback(ompt_callback_implicit_task); register_callback_t(ompt_callback_lock_init, ompt_callback_mutex_acquire_t); register_callback_t(ompt_callback_lock_destroy, ompt_callback_mutex_t); diff --git a/openmp/runtime/test/ompt/misc/idle.c b/openmp/runtime/test/ompt/misc/idle.c deleted file mode 100644 index 7413c32..0000000 --- a/openmp/runtime/test/ompt/misc/idle.c +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: %libomp-compile-and-run | FileCheck %s -// REQUIRES: ompt -#include "callback.h" -#include - -int main() -{ - int x = 0; - #pragma omp parallel num_threads(3) - { - #pragma omp atomic - x++; - } - #pragma omp parallel num_threads(2) - { - #pragma omp atomic - x++; - } - - - printf("x=%d\n", x); - - // Check if libomp supports the callbacks for this test. - // CHECK-NOT: {{^}}0: Could not register callback 'ompt_callback_idle' - - // CHECK: 0: NULL_POINTER=[[NULL:.*$]] - - // CHECK: {{^}}[[THREAD_ID:[0-9]+]]: ompt_event_idle_begin: - // CHECK: {{^}}[[THREAD_ID]]: ompt_event_idle_end: - - return 0; -} -- 2.7.4