RFR: 8222462: Introduce CollectedHeap::unused()
Per Liden
per.liden at oracle.com
Tue Apr 23 08:14:01 UTC 2019
On 4/23/19 10:13 AM, Erik Österlund wrote:
> Hi Per,
>
> Perhaps we need a cleanup of racy accesses that should use Atomic to
> make the code more future-proof. But I'm cool with deferring that until
> later as this is already a problem in the code in other places.
I agree, there are a number of places where we should use atomics.
>
> Looks good.
Thanks Erik!
/Per
>
> Thanks,
> /Erik
>
> On 2019-04-17 10:39, Per Liden wrote:
>> Did an off-line review with Stefan. Added a comment and a minor tweak
>> to the ZGC part.
>>
>> Updated webrev: http://cr.openjdk.java.net/~pliden/8222462/webrev.1
>>
>> /Per
>>
>>
>> On 04/15/2019 08:49 AM, Per Liden wrote:
>>> JVM_FreeMemory() has two problems:
>>>
>>> 1) It currently uses Heap_lock to protect capacity() and used() from
>>> changing while calculating the amount of free memory available.
>>> However, Heap_lock is doesn't protect capacity() and used() in all
>>> collectors, and as a result, JVM_FreeMemory() could return a negative
>>> value.
>>>
>>> 2) The amount of free memory is not always calculated using
>>> capacity() - used(). For ZGC, we also want to take the reserve into
>>> account.
>>>
>>> The proposed solution is to introduce CollectedHeap::unused() (the
>>> name is chosen to match CollectedHeap::used()), so that we can
>>> delegate this calculation to the GC.
>>>
>>> Testing: tier1-3
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222462
>>> Webrev: http://cr.openjdk.java.net/~pliden/8222462/webrev.0
>>>
>>> /Per
>
More information about the hotspot-gc-dev
mailing list