From: Kwok Cheung Yeung Date: Fri, 24 Jun 2022 20:29:28 +0000 (+0100) Subject: Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b845d2f62e7da1c4cfdfee99690de94b648d076d;p=thirdparty%2Fgcc.git Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c There is an interaction between the commits "OpenACC profiling-interface fixes for asynchronous operations" and "[OpenACC] Clarify sequencing of 'async' data copying vs. profiling events in 'libgomp.oacc-c-c++-common/acc_prof-{init,parallel}-1.c'", leading to an execution test failure and hang in these two tests. This reverts changes to the tests made by the second patch, allowing the tests to pass. 2022-05-30 Kwok Cheung Yeung libgomp/ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c (cb_compute_construct_end): Remove COPYIN block. (main): Remove assignments to acc_async. * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c (cb_enter_data_end): Remove COPYIN block. (main): Remove assignment to acc_async. --- diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp index 3e1ed8efed6d..0dbc13381b61 100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@ -1,3 +1,12 @@ +2022-05-30 Kwok Cheung Yeung + + * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c + (cb_compute_construct_end): Remove COPYIN block. + (main): Remove assignments to acc_async. + * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c + (cb_enter_data_end): Remove COPYIN block. + (main): Remove assignment to acc_async. + 2022-05-31 Kwok Cheung Yeung * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c (foo_v, foo_w): diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c index a33fac7556cb..6bbe99df1ff8 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c @@ -208,21 +208,6 @@ static void cb_compute_construct_end (acc_prof_info *prof_info, acc_event_info * assert (state == 11 || state == 111); -#if defined COPYIN - /* In an 'async' setting, this event may be triggered before actual 'async' - data copying has completed. Given that 'state' appears in 'COPYIN', we - first have to synchronize (that is, let the 'async' 'COPYIN' read the - current 'state' value)... */ - if (acc_async != acc_async_sync) - { - /* "We're not yet accounting for the fact that _OpenACC events may occur - during event processing_"; temporarily disable to avoid deadlock. */ - unreg (acc_ev_none, NULL, acc_toggle_per_thread); - acc_wait (acc_async); - reg (acc_ev_none, NULL, acc_toggle_per_thread); - } - /* ... before modifying it in the following. */ -#endif STATE_OP (state, ++); assert (tool_info != NULL); @@ -295,7 +280,6 @@ int main() { state_init = state; } - acc_async = acc_async_sync; #pragma acc wait assert (state_init == 11); } @@ -322,7 +306,6 @@ int main() { state_init = state; } - acc_async = acc_async_sync; #pragma acc wait assert (state_init == 111); } diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c index 663f7f724d5b..9a542b56fe52 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c @@ -248,25 +248,6 @@ static void cb_enter_data_end (acc_prof_info *prof_info, acc_event_info *event_i assert (state == 4 || state == 104); -#if defined COPYIN - /* Conceptually, 'acc_ev_enter_data_end' marks the end of data copying, - before 'acc_ev_enqueue_launch_start' marks invoking the compute region. - That's the 'state_init = state;' intended to be captured in the compute - regions. */ - /* In an 'async' setting, this event may be triggered before actual 'async' - data copying has completed. Given that 'state' appears in 'COPYIN', we - first have to synchronize (that is, let the 'async' 'COPYIN' read the - current 'state' value)... */ - if (acc_async != acc_async_sync) - { - /* "We're not yet accounting for the fact that _OpenACC events may occur - during event processing_"; temporarily disable to avoid deadlock. */ - unreg (acc_ev_none, NULL, acc_toggle_per_thread); - acc_wait (acc_async); - reg (acc_ev_none, NULL, acc_toggle_per_thread); - } - /* ... before modifying it in the following. */ -#endif STATE_OP (state, ++); assert (tool_info != NULL); @@ -698,7 +679,6 @@ int main() state_init = state; } - acc_async = acc_async_sync; #pragma acc wait assert (state_init == 104); }