RFR: 8200697: Add utility for spin wait with fallback to yield/sleep
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Apr 4 20:24:37 UTC 2018
This looks good to me. Looking forward to the other RFEs to use this.
thanks,
Coleen
On 4/4/18 2:53 PM, Kim Barrett wrote:
> Please review this addition of SpinYield utility class.
>
> It initially supplies a very simple policy: spin a configured number
> of times, then switch to yielding or (eventually) sleeping. Other
> policies may replace this one or be provided as alternatives in the
> future.
>
> This is joint work with Robbin Ehn.
>
> Robbin and I have immediate uses for this utility in changes we are
> developing. In addition, there are some existing places that might be
> converted to use this utility (or perhaps some extended version of
> it), including SafepointSynchronize::begin, ReadStableMark,
> Thread::SpinAcquire, and ParallelTaskTerminator::offer_termination.
> Those existing potential uses are not being changed here; for now,
> we're just adding the utility in support of our in-development
> changes. We plan to file followup RFEs to consider converting those
> potential uses.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8200697
>
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8200697/open.00/
>
> Testing:
> Added unit test of basic functionality.
> Build and hs-tier1 (for gtest) on all Oracle platforms.
>
More information about the hotspot-dev
mailing list