RFR(S): 8229422: Taskqueue: Outdated selection of weak memory model platforms
Doerr, Martin
martin.doerr at sap.com
Fri Aug 30 11:14:45 UTC 2019
Hi Thomas,
good proposal.
Here's the minimal version:
http://cr.openjdk.java.net/~mdoerr/8229422_multi-copy-atomic/webrev.02/
I've removed the compiler part. I can create a separate issue for making C1 and C2 consistent.
Arm32/aarch64 folks can create new issues if they like further changes.
I don't have any further requirements for s390 and PPC64 at the moment.
Can I consider it as reviewed by Thomas, David and Derek?
Best regards,
Martin
> -----Original Message-----
> From: Thomas Schatzl <thomas.schatzl at oracle.com>
> Sent: Freitag, 30. August 2019 10:33
> To: Doerr, Martin <martin.doerr at sap.com>; hotspot-runtime-
> dev at openjdk.java.net; 'hotspot-compiler-dev at openjdk.java.net' <hotspot-
> compiler-dev at openjdk.java.net>
> Cc: hotspot-gc-dev at openjdk.java.net; David Holmes
> (david.holmes at oracle.com) <david.holmes at oracle.com>; Derek White
> <derekw at marvell.com>
> Subject: Re: RFR(S): 8229422: Taskqueue: Outdated selection of weak
> memory model platforms
>
> Hi,
>
> On 26.08.19 15:04, Doerr, Martin wrote:
> > Hi all,
> >
> > I had noticed that the platforms selection which need a fence in
> taskqueue.inline.hpp should get updated.
> >
> > My initial webrev
> > http://cr.openjdk.java.net/~mdoerr/8229422_multi-copy-
> atomic/webrev.00/
> > was already reviewed on hotspot-gc-dev. It is an attempt to make things
> more consistent, especially the property "CPU_MULTI_COPY_ATOMIC".
> > Also the compiler constant
> "support_IRIW_for_not_multiple_copy_atomic_cpu" depends on this
> property (currently only used on PPC64).
> >
> > We could go one step further and move even more #defines into the
> platform files to give platform maintainers more control.
> > I haven't got feedback from arm/aarch64 folks about this addition, yet:
> > http://cr.openjdk.java.net/~mdoerr/8229422_multi-copy-
> atomic/webrev.01/
> > With this proposal, each platform which is "CPU_MULTI_COPY_ATOMIC" is
> supposed to define this macro.
> > Other platforms must define
> SUPPORT_IRIW_FOR_NOT_MULTI_COPY_ATOMIC_CPU and
> IRIW_WITH_RELEASE_VOLATILE_IN_CONSTRUCTOR for fine-grained control
> of the memory ordering behavior.
> > We can even control them dynamically (added an experimental switch for
> PPC64 as an example).
> >
> > Note that neither webrev.00 nor webrev.01 contain any functional changes
> other than the taskqueue update for s390 (and the experimental switch for
> PPC64 in webrev.01).
> >
> > Feedback is welcome. Also if you have a preference wrt. webrev.00 vs.
> webrev.01.
>
> for pushing I would prefer the minimal amount of changes to solve the
> original issue, and move all other changes to a different CR.
>
> Also, I would prefer if all globalDefinitions files contained all
> defines, commented out if needed. I.e. to try to show that not defining
> a particular macro has been deliberate and not an oversight.
>
> (Like in the 00 webrev where the code at least states for aarch64:
> 37 // aarch64 is not CPU_MULTI_COPY_ATOMIC
>
> I am aware that this is not correct given new information, but in
> context of the CR it is/was)
>
> Further, let's avoid "TODOs" in the sources, the correct place for those
> is JIRA imho. :)
>
> Thanks,
> Thomas
>
More information about the hotspot-runtime-dev
mailing list