[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8226797: serviceability/tmtools/jstat/GcCapacityTest.java fails with Exception: java.lang.R
From:       Stefan Karlsson <stefan.karlsson () oracle ! com>
Date:       2019-12-13 8:39:29
Message-ID: 5b5bbdd0-b1a0-4c1c-ee13-ce8adbbca592 () oracle ! com
[Download RAW message or body]

Hi Serguei,

On 2019-12-13 01:41, serguei.spitsyn@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
> 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic