RFR 8201799: Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism)
Andrew Haley
aph at redhat.com
Mon Apr 23 10:20:39 UTC 2018
On 04/18/2018 05:37 PM, Doerr, Martin wrote:
> It'd be great if we could specify semantics for Atomic:add like we
> do for Atomic::cmpchgx.
> However, the double-fence is a very bad default from performance
> perspective. I wonder if PPC64 is the only platform which gets hit.
Probably not.
> Would it be acceptable to set the default to
> memory_order_acquire_release and specify memory_order_conservative
> for the new usage? I think this would fit perfectly for PPC64, but
> some people may not like it. One could say PPC64 is the problem, but
> one could also say the VM code is the problem
Indeed. In as much as we use stronger memory ordering than we need in
more than one place, the VM code is the problem.
> I don't really like the straight forward fix to insert a fence with
> #ifdef AIX.
I agree. It looks to me like it's sufficient if the increment of
global_counter and the load of thread->get_rcu_counter() are
sequentially consistent. On at least one platform, AArch64, we can
do that without additional fencing.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-dev
mailing list