--- Comment #9 from bart dot vanassche at gmail dot com 2009-06-13 16:23
---
(In reply to comment #7)
The patch below is sufficient to suppress all conflicting accesses reported by
DRD. I've done my best to ensure that this patch is not only sufficient but
also minimal. Although Jakub
--- Comment #8 from bart dot vanassche at gmail dot com 2009-06-08 18:30
---
(In reply to comment #7)
Thanks for the feedback. I'll use the above information to suppress the
complaints on thr->ts.work_share->next_ws and will post the results here.
--
http://gcc.gnu.org/bugzilla/sh
--- Comment #7 from jakub at gcc dot gnu dot org 2009-06-07 13:07 ---
valgrind just isn't smart enough to understand it.
Obviously --enable-linux-futex build has a lot of synchronization primitives
that are beyond what valgrind is able to understand, but even with the posix
only primitiv
--- Comment #6 from bart dot vanassche at gmail dot com 2009-06-07 07:09
---
(In reply to comment #5)
> You have to read the code to understand how that happens.
> But basically GOMP_parallel_start does:
> gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads));
>
> Wher
--- Comment #5 from pinskia at gcc dot gnu dot org 2009-06-07 06:57 ---
You have to read the code to understand how that happens.
But basically GOMP_parallel_start does:
gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads));
Where gomp_new_team creates the *thr (which i
--- Comment #4 from bart dot vanassche at gmail dot com 2009-06-07 06:52
---
(In reply to comment #3)
> Except this is a false positive as thread 4 is not created when the thread 2
> writes to *thr. It looks like valgrind does not know what is happening here
> really.
I'm not sure tha
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-06-07 06:22 ---
Except this is a false positive as thread 4 is not created when the thread 2
writes to *thr. It looks like valgrind does not know what is happening here
really.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40
--- Comment #2 from bart dot vanassche at gmail dot com 2009-06-07 06:14
---
(In reply to comment #1)
> >==21970==at 0x71A35FD: gomp_iter_dynamic_next (iter.c:190)
>
> Is a bogus warning as that is thread specific data:
> struct gomp_thread *thr = gomp_thread ();
> struct gomp_
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-06-07 00:11 ---
>==21970==at 0x71A35FD: gomp_iter_dynamic_next (iter.c:190)
Is a bogus warning as that is thread specific data:
struct gomp_thread *thr = gomp_thread ();
struct gomp_work_share *ws = thr->ts.work_share;
--