Hi Serguei,

On 2019-12-13 01:41, serguei.spit...@oracle.com wrote:
Hi Stefan,

It looks good to me.

Thanks for reviewing.


Sorry, I was on the meeting, wrote this email and forgot to push 'send' button.
Just now discovered that it has not been really sent. :(

No problem. I pushed this yesterday to make the JDK 14 fork cut-off.

Thanks,
StefanK


Thanks,
Serguei


On 12/12/19 07:23, Stefan Karlsson wrote:
In the interest to get this integrated before the RDP cut-off I'm going to push this ASAP. This has gone through tier1-tier3 testing.

StefanK

On 2019-12-12 13:01, Stefan Karlsson wrote:
Hi all,

Please review this patch to fix a problem with unintialized values in our generation counters.

https://cr.openjdk.java.net/~stefank/8226797/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8226797

The jstat values NGCMN and OGCMN both return uninitialized values.

I stumbled upon this while creating a patch to remove the GenerationSpec class.

GenerationSpec::_min_size is never initialized, and then used to create the generations:

     case Generation::DefNew:
       return new DefNewGeneration(rs, _init_size, _min_size, _max_size);

     case Generation::MarkSweepCompact:
       return new TenuredGeneration(rs, _init_size, _min_size, _max_size, remset);

That in turn uses it to initialize the perf counters:
DefNewGeneration::DefNewGeneration(ReservedSpace rs,
                                    size_t initial_size,
                                    size_t min_size,
                                    size_t max_size,
                                    const char* policy)
...
   _gen_counters = new GenerationCounters("new", 0, 3,
       min_size, max_size, &_virtual_space);

I'm setting the value to _init_size, because it reflects how MinNewSize and MinOldSize relates to NewSize and OldSize.

Thanks,
StefanK

Reply via email to