RFR: Hint unused regions instead of uncommit them

Zhengyu Gu zgu at redhat.com
Mon Jan 15 17:21:36 UTC 2018


This patch adds new experimental flag ShenandoahIdleRegions (default to 
false) to hint kernel that the regions are not needed (vs. 
madvise(MADV_DONTNEED), instead of proactively uncommitting.

It appears that does have advantage over uncommitting regions, although, 
not by as much as I was expected.

SPECjbb2015:

Baseline:
RUN RESULT: hbIR (max attempted) = 59167, hbIR (settled) = 51984, 
max-jOPS = 47925, critical-jOPS = 19108

-XX:ShenandoahUncommitDelay=0 -XX:-ShenandoahIdleRegions
RUN RESULT: hbIR (max attempted) = 41119, hbIR (settled) = 36501, 
max-jOPS = 30839, critical-jOPS = 8841

-XX:ShenandoahUncommitDelay=0 -XX:+ShenandoahIdleRegions
RUN RESULT: hbIR (max attempted) = 49322, hbIR (settled) = 42968, 
max-jOPS = 35019, critical-jOPS = 9283


Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/idle_region/webrev.00/

Test:

   hotspot_gc_shenandoah (fastdebug + release)


Thanks,

-Zhengyu


More information about the shenandoah-dev mailing list