Open
Description
In src/ws_deque.ml
, the tab
field is not atomic, contrary to the reference implementation in relaxed memory (Correct and Efficient Work-Stealing for Weak Memory Models). Furthermore, there is no synchronization before writing to this field in push
and pop_as
. Therefore, in my understanding, there is no guarantee that the thieves do not read Obj.magic ()
(from realloc
) when accessing tab
in steal_as
(same scenario as https://fzn.fr/readings/errata-ppopp207-le.txt).
Are you sure it is correct? Maybe it relies on a synchronization mechanism I am not aware of.
Metadata
Assignees
Labels
No labels
Activity