RFR: 8259231: Fix the chance to allocate failure and improve the speed and quality of EpsilonHeap::allocate_work

Lehua Ding github.com+13173904+lhtin at openjdk.java.net
Wed Jan 6 01:10:57 UTC 2021


On Tue, 5 Jan 2021 13:34:24 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Hi all,
>> 
>> The `EpsilonHeap::allocate_work` method maybe can be fixed and improved by this:
>> 1. it can prevent allocate failure by retry `_space->par_allocate` before expanding virtual space,  when there not enough virtual space but another thread expanding succeeded just and has enough space.
>> 2. it can reduce the lock time by move `res = _space->par_allocate(size);` out of lock scope.
>> 
>> Test on macosx-x86_64-server-{release, fastdebug, slowdebug} with current test case.
>
> src/hotspot/share/gc/epsilon/epsilon_globals.hpp line 67:
> 
>> 65:                                                                             \
>> 66:   product(bool, EpsilonElasticTLABDecay, true, EXPERIMENTAL,                \
>> 67:           "Use timed decays to shrink TLAB sizes. This conserves memory "   \
> 
> Let's not do the typo fixes in this PR. Maybe there are other spelling problems elsewhere in `gc/epsilon` that we could fix wholesale in another PR?

OK, I will revert the typo fixes change.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1794



More information about the hotspot-gc-dev mailing list