RFR: 8227369: pd_disjoint_words_atomic() needs to be atomic [v2]
David Holmes
dholmes at openjdk.java.net
Thu Feb 24 11:48:18 UTC 2022
On Wed, 23 Feb 2022 05:38:34 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Replace the common "atomic" switch+loop code chunks in the pd code with a shared version that uses Atomic::load/store.
>>
>> See details in the bug report that show how current code is actually replaced by `memcpy` (in some places at least) whereas the new code is not.
>>
>> Platforms affected:
>> - all x86
>> - Zero
>> - Windows Aarch64
>> - PPC
>>
>> Testing: tiers 1-3
>> Additional builds: tiers 4 and 5
>> - builds covered: x86 and Zero
>>
>> GHA
>> - builds covered: Windows-Aarch64
>>
>> The only build affected and not tested is PPC. It would be great if someone could take this for a spin on PPC.
>>
>> For platforms not affected by this change, i.e. those that already specialise the code, I make not claims regarding the atomicity or otherwise of those specialized versions. That would be for someone interested in those specific platforms to check out.
>>
>> Thanks,
>> David
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove underscore from name
I ran some GC benchmarks which turned out to be just specjbb2005 and specjvm2008-*.
There were two regressions flagged:
Linux-x64: SPECjvm2008-LU.large-ZGC -5.82%
macos-x64: SPECjvm2008-Serial-ParGC -4.16%
However, Erik thinks these are just noise as apparently ZGC doesn't use these atomic copy routines, nor does he think ParGC does either.
Thoughts?
-------------
PR: https://git.openjdk.java.net/jdk/pull/7567
More information about the hotspot-dev
mailing list