RFR: 8138705: Kitchen sink stress test fails

Max Ockner max.ockner at oracle.com
Tue May 17 19:53:24 UTC 2016


Hello,
I have responded to suggestions from Coleen and Zhengyu.

New webrev: http://cr.openjdk.java.net/~mockner/8138705.02/
  - Removed print statements
  - Added check to break out of loop once we reach the end of the region 
being committed

Thanks,
Max

On 5/17/2016 9:06 AM, Zhengyu Gu wrote:
> Hi Max,
>
> I have not done a complete review.
>
> virtualMemoryTracker.cpp:  63 - 88
>
> Is it possible that newly committed region does not overlap, but 
> covers an existing region?
>
> The loop can stop when rgn->end_addr >= addr + size
>
> -Zhengyu
>
>
> On 05/13/2016 03:39 PM, Max Ockner wrote:
>> Hello,
>> Please review this fix which allows NMT to handle overlapping commits.
>>
>> Though it would make sense to uncommit space before committing over 
>> it,  this is not always the way things are done. Kitchensink 
>> encounters some intentional overlapping commits in gc, which 
>> previously would cause NMT to throw an assert. Now, these overlapping 
>> commits are handled by recording an uncommit of the newly committed 
>> region before recording the commit. This effectively chops any of the 
>> already-committed space off of the existing committed region before 
>> adding the new commit.  In order for this all to work, 
>> ReservedMemoryRegion::remove_uncommitted_region was changed to 
>> support uncommitting an arbitrary region. The target behavior of this 
>> operation is to truncate (or split) committed regions which overlap 
>> with the region being uncommitted, while only subtracting from the 
>> total  the amount of memory which was actually cleared.
>>
>> Bug:  https://bugs.openjdk.java.net/browse/JDK-8138705
>> Webrev:  http://cr.openjdk.java.net/~mockner/8138705/
>>
>> Tested with jtreg NMT tests. Survived 72 hours of Kitchensink.
>> Added a test: runtime/NMT/CommitOverlappingRegions.java
>> This test performs various commits and uncommits that overlap in 
>> different ways, and checks that it computes the amount of committed 
>> space correctly.
>>
>> Thanks,
>> Max
>



More information about the hotspot-runtime-dev mailing list