7u40 RFR: 8012144 - Missing memory barriers
David Holmes
david.holmes at oracle.com
Mon Jul 8 17:43:14 PDT 2013
The issue of missing memory barriers in the GC taskqueue code was first
flagged here:
http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-March/008848.html
and bug 8006971 was opened for it.
There were some further background discussions that I wasn't party to
and this all somewhat fell between the cracks for a while.
A trimmed version of the original proposed patch was tested internally
(and I believe by SAP) and that simplified patch is what is being
proposed now, under 8012144, solely for the 7u40 update. I/we intend to
revise the original patch for 8006971 and get that resolved properly for
JDK 8. Meanwhile we have a critical urgency on getting this fixed in 7u40.
The webrev is here:
http://cr.openjdk.java.net/~dholmes/8012144/webrev.hs24/
Primarily it adds a fence for platforms that require it - with platforms
that don't opting out via the conditional compilation. In this way there
is no performance impact on those mainline SE platforms. (A correctly
expressed lock-free algorithm will not have platform specific fences,
hence the intent to rework this for JDK 8.) Note this is a very low risk
fix regardless because adding memory barriers will not introduce
incorrect behaviour.
This patch was not supplied by me, but as a follow on from the original
work, via John Cuthbertson. So John is one of the contributors (I
believe Axel Siebenborn is the original contributor - I need an email
address for the attribution!) and I will actually be a Reviewer.
If anyone has any concerns please raise them quickly as time is very
much against us here.
Thanks,
David
More information about the hotspot-dev
mailing list