<html><head></head><body>Hi Robin,<br>
<br>
I doubt that we can assume a symmetry between loadload and storestore like there is with load-acquire and release-store. This doesn't seem right. In my experience loadload and storestore are rather special purpose: loadload ensures ordering between otherwise unrelated loads and storestore likewise with stores.<br>
<br>
And even symmetric use of load-acquire and release-store are often done wrong: those are not meant to protect concurrent access to the field, but to the stuff that is protected by the field access (think locks), I.e. what happens between the LA and RS. At least that is my understanding.<br>
<br>
I suggest to do what David said and try to understand what concurrent accesses to which fields we have, and which fences are actually needed to ensure correct ordering.<br>
<br>
And thanks for revisiting this!<br>
<br>
Cheers, Roman<br><br><div class="gmail_quote">Am 29. August 2017 12:31:17 MESZ schrieb Robbin Ehn <robbin.ehn@oracle.com>:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Hi please review,<br /><br />The issue 8180932 - "Parallelize safepoint cleanup" changed _stack_traversal_mark to load acquire/store release, this is at least half wrong.<br />Instead for simplicity the write side storestore fence should be match with loadload on read side and the changes to _stack_traversal_mark undone (kept it volatile).<br /><br />Bug:<br /><a href="https://bugs.openjdk.java.net/browse/JDK-8186837">https://bugs.openjdk.java.net/browse/JDK-8186837</a><br /><br />Code:<br /><a href="http://cr.openjdk.java.net/~rehn/8186837/hotspot.01/webrev">http://cr.openjdk.java.net/~rehn/8186837/hotspot.01/webrev</a>/<br /><br />It's not clear in this code if there other concurrent dependent read/writes.<br />Is true that only when reading/writing _state and _stack_traversal_mark proper memory ordering is needed?<br />To track that I created: <a href="https://bugs.openjdk.java.net/browse/JDK-8186839">https://bugs.openjdk.java.net/browse/JDK-8186839</a><br /><br />Thanks Robbin<br /></pre></blockquote></div><br>
-- <br>
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.</body></html>