RFR: Disable ShHeapUncommit on too-large large-pages

Roman Kennke rkennke at redhat.com
Tue Sep 11 07:29:21 UTC 2018


Am 11.09.2018 um 09:24 schrieb Aleksey Shipilev:
> On 09/11/2018 09:22 AM, Roman Kennke wrote:
>> Am 11.09.2018 um 09:08 schrieb Aleksey Shipilev:
>>> On 09/10/2018 11:45 PM, Roman Kennke wrote:
>>>> OMG, the webrev was totally garbled. Look at this one:
>>>> cr.openjdk.java.net/~rkennke/disable-uncommit/webrev.01/
>>>
>>> *) I'd say the condition in ShenandoahHeapRegion::setup_sizes should be "if (ShenandoahUncommit)"?
>>> This way it captures the intent clearly. And the comment before it should mention uncommit, not
>>> mem-protection.
>>>
>>> Otherwise looks okay.
>>>
>>> Thanks,
>>> -Aleksey
>>>
>>>
>>
>> Like this?
>>
>> Incremental:
>> http://cr.openjdk.java.net/~rkennke/disable-uncommit/webrev.01.diff/
> 
> Yes, like that. Does it still pass tier3 with uber-large pages?
> 

No. Of course this is a mistake:

diff -r 03c6138dd68c
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp  Tue Sep
11 03:15:46 2018 -0400
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp  Tue Sep
11 03:29:01 2018 -0400
@@ -618,7 +618,7 @@
   // Otherwise, uncommitting one region may falsely uncommit the adjacent
   // regions too.
   // Also see shenandoahArguments.cpp, where it handles UseLargePages.
-  if (ShenandoahUncommit) {
+  if (UseLargePages && ShenandoahUncommit) {
     region_size = MAX2(region_size, os::large_page_size());
   }


Ok?
Roman




More information about the shenandoah-dev mailing list