Review request: 8025059: Metspace::should_expand mixes bytes and words in check against MaxMetaspaceSize
Bengt Rutisson
bengt.rutisson at oracle.com
Thu Sep 19 08:10:02 PDT 2013
Hi Stefan,
Given that we just want to get the byte/word conversion right I think
this change is fine. The bug JDK-8024547 contains a long list of
improvements so it is a bit difficult to tell, but the asymmetry with
using reserved memory for NonClassType and allocated memory for
ClassType will go away with some of the changes for JDK-8024547, right?
1345 size_t nonclass_allocated =
MetaspaceAux::reserved_bytes(Metaspace::NonClassType);
1346 size_t class_allocated =
MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
1347 size_t real_allocated = nonclass_allocated + real_allocated;
Thanks,
Bengt
On 9/19/13 4:59 PM, Stefan Karlsson wrote:
> http://cr.openjdk.java.net/~stefank/8025059/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8025059
>
> The following code in Metaspace::should_expand:
>
> if (!FLAG_IS_DEFAULT(MaxMetaspaceSize)) {
> size_t real_allocated = Metaspace::space_list()->reserved_words() +
> MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
> if (real_allocated >= MaxMetaspaceSize) {
> return false;
> }
>
> doesn't convert Metaspace::space_list()->reserved_words() to bytes, as
> it should.
>
> Note that when JDK-8024547 gets fixed, this check will be rewritten to
> limit the amount of committed memory in both the Class and NonClass
> metaspaces. See:
> https://bugs.openjdk.java.net/browse/JDK-8024547: MaxMetaspaceSize
> should limit the committed memory used by the metaspaces
>
> Testing: I've run our internal testing that sets the MaxMetaspaceSize.
>
> thanks,
> StefanK
More information about the hotspot-dev
mailing list