On Sat, 3 Apr 2021 04:09:53 GMT, Hui Shi <h...@openjdk.org> wrote:

>> …ue to large TLAB size
>> 
>> serviceability/jvmti/HeapMonitor tests intermittently fail when using 
>> PS/Serial GC, original test has implicit assumptions on TLAB size and 
>> depends on allocate fix amount of objects to consume TLAB and trigger object 
>> sampling. These tests will fail if TLAB is above 20M (this can easily happen 
>> when using PS/Serial GC and heap is large), when allocation can not consume 
>> current TLAB and _byte_until_sample.
>> 
>> Fix in tests is adding an explicit GC to consume current TLAB.
>> Running on 256G memory machine, make run-test CONF=release 
>> TEST="test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/" 
>> 'JTREG=JOBS=12;VM_OPTIONS=-XX:ActiveProcessorCount=1'
>> 
>> before fix: 6 or 7 tests in 20 tests intermittently fail
>> after fix: no failure in 100 runs release/fastdebug
>> 
>> This might also fix https://bugs.openjdk.java.net/browse/JDK-8225313
>
> Hui Shi has updated the pull request incrementally with one additional commit 
> since the last revision:
> 
>   clarify comments

Changes requested by cjplummer (Reviewer).

test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java 
line 169:

> 167:     // Trigger GC then loop around an allocation loop and wait until 
> Object Sampling
> 168:     // is enabled for every later allocation. It takes two steps:
> 169:     // 1. Consume current TLAB, whose size can be varies with heap/GC 
> configuration

"whose size can vary"

test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java 
line 175:

> 173:     System.gc();
> 174:     // Step2 loop allocation consume "bytes until sample", each 
> iteration allocate
> 175:     // about 1600KB, 10 iterations can definitly consume initial "bytes 
> until sample"

// Step2 loop allocation consumes "bytes until sample". Each iteration allocates
    // about 1600KB, so 10 iterations will definitely consume initial "bytes 
until sample"

-------------

PR: https://git.openjdk.java.net/jdk/pull/3265

Reply via email to