public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libgomp/98738] task-detach-6.f90 hangs intermittently
Date: Thu, 25 Feb 2021 22:48:28 +0000	[thread overview]
Message-ID: <bug-98738-4-DHgNpkUqYB@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-98738-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98738

--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kwok Yeung <kcy@gcc.gnu.org>:

https://gcc.gnu.org/g:d656bfda2d8316627d0bbb18b10954e6aaf3c88c

commit r11-7407-gd656bfda2d8316627d0bbb18b10954e6aaf3c88c
Author: Kwok Cheung Yeung <kcy@codesourcery.com>
Date:   Thu Jan 21 05:38:47 2021 -0800

    openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738]

    This adds support for the task detach clause to taskwait and taskgroup, and
    simplifies the handling of the detach clause by moving most of the extra
    handling required for detach tasks to omp_fulfill_event.

    2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
                Jakub Jelinek  <jakub@redhat.com>

            libgomp/

            PR libgomp/98738
            * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
            (struct gomp_task): Replace detach and completion_sem fields with
            union containing completion_sem and detach_team.  Add deferred_p
            field.
            (struct gomp_team): Remove task_detach_queue.
            * task.c: Include assert.h.
            (gomp_init_task): Initialize deferred_p and completion_sem fields.
            Rearrange initialization order of fields.
            (task_fulfilled_p): Delete.
            (GOMP_task): Use address of task as the event handle.  Remove
            initialization of detach field.  Initialize deferred_p field.
            Use automatic local for completion_sem.  Initialize detach_team
field
            for deferred tasks.
            (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
            Set kind of suspended detach task to GOMP_TASK_DETACHED and
            decrement task_running_count.  Move finish_cancelled block out of
            else branch.  Relocate call to gomp_team_barrier_done.
            (GOMP_taskwait): Handle tasks with completion events that have not
            been fulfilled.
            (GOMP_taskgroup_end): Likewise.
            (omp_fulfill_event): Use address of task as event handle.  Post to
            completion_sem for undeferred tasks.  Clear detach_team if task
            has not finished.  For finished tasks, handle post-execution tasks,
            call gomp_team_barrier_wake if necessary, and free task.
            * team.c (gomp_new_team): Remove initialization of
task_detach_queue.
            (free_team): Remove free of task_detach_queue.
            * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
            * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
            * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
            * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
            * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
            Change data-sharing of detach events on enclosing parallel to
private.
            * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
            taskwait directive.
            * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
            * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
            * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
            * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
            * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
            * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
            * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
            * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
            * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
            * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
            Change data-sharing of detach events on enclosing parallel to
private.
            * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
            taskwait directive.
            * testsuite/libgomp.fortran/task-detach-7.f90: New.
            * testsuite/libgomp.fortran/task-detach-8.f90: New.
            * testsuite/libgomp.fortran/task-detach-9.f90: New.
            * testsuite/libgomp.fortran/task-detach-10.f90: New.
            * testsuite/libgomp.fortran/task-detach-11.f90: New.

  parent reply	other threads:[~2021-02-25 22:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-18 21:42 [Bug libgomp/98738] New: " iii at linux dot ibm.com
2021-01-18 21:50 ` [Bug libgomp/98738] " iii at linux dot ibm.com
2021-01-19  3:03 ` hjl.tools at gmail dot com
2021-01-19  8:51 ` dominiq at lps dot ens.fr
2021-01-19 10:35 ` ro at gcc dot gnu.org
2021-01-19 13:22 ` jakub at gcc dot gnu.org
2021-01-19 15:13 ` kcy at codesourcery dot com
2021-01-20 15:53 ` jakub at gcc dot gnu.org
2021-01-20 16:06 ` jakub at gcc dot gnu.org
2021-01-21 13:00 ` kcy at codesourcery dot com
2021-01-21 13:12 ` jakub at gcc dot gnu.org
2021-01-24 16:52 ` dominiq at lps dot ens.fr
2021-02-25 22:48 ` cvs-commit at gcc dot gnu.org [this message]
2021-03-11 13:58 ` tschwinge at gcc dot gnu.org
2021-03-11 14:03 ` jakub at gcc dot gnu.org
2021-03-11 14:05 ` kcy at codesourcery dot com
2021-03-11 14:30 ` tschwinge at gcc dot gnu.org
2021-03-11 16:37 ` tschwinge at gcc dot gnu.org
2021-04-27 11:40 ` jakub at gcc dot gnu.org
2021-07-28  7:05 ` rguenth at gcc dot gnu.org
2022-04-21  7:48 ` rguenth at gcc dot gnu.org
2023-05-29 10:04 ` jakub at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-98738-4-DHgNpkUqYB@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).