RFR: 8244847: Linux/PPC: runtime/CompressedOops/CompressedClassPointers: smallHeapTest fails [v2]
Thomas Stuefe
stuefe at openjdk.java.net
Tue Dec 1 14:10:57 UTC 2020
On Tue, 1 Dec 2020 13:45:09 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>> This is an XS sized patch to get a zerobased compressed class space on
>> Linux/PPC64 if a heap up to 2g size is configured and CDS is disabled.
>>
>> On Linux 4.1.42 and higher we fail to get a zerobased CCS because just one
>> attempt is made to place the CCS right after the heap which will be at 4g
>> (ELF_ET_DYN_BASE) but there the java launcher is already mapped.
>>
>> This change reuses the search already implemented for AARCH64.
>>
>> Master without Fix Master with Fix
>>
>> -Xmx Narrow klass base Compressed Class Space Narrow klass base Compressed Class Space
>> ----------------------------------------------------------------------------------------------------
>> 512m 0x00007fff00000000 ! 0x00007fff00000000 0x0000000000000000 0x0000000200000000
>> 1g 0x00007fff14000000 ! 0x00007fff14000000 0x0000000000000000 0x0000000200000000
>> 2g 0x00007fff30000000 ! 0x00007fff30000000 0x0000000000000000 0x0000000200000000
>> 3g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 4g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 8g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 12g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 16g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 20g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 24g 0x0000000000000000 0x00000007c0000000 0x0000000000000000 0x00000007c0000000
>> 28g 0x0000001702000000 0x0000001702000000 0x0000001702000000 0x0000001702000000
>> 32g 0x0000000000000000 0x0000000080000000 0x0000000000000000 0x0000000080000000
>> 40g 0x0000000000000000 0x0000000080000000 0x0000000000000000 0x0000000080000000
>> 48g 0x0000000000000000 0x0000000080000000 0x0000000000000000 0x0000000080000000
>
> Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
>
> Special case for AIX in largeHeapTest().
small nits; leave it up to you if you follow up on them.
LGTM otherwise.
Also, (T)rivial :)
test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java line 103:
> 101: if (testNarrowKlassBase() && !Platform.isAix()) {
> 102: // AIX: the heap cannot be placed below 32g. The first attempt to
> 103: // place the CCS after the heap fails (luckily). Finally CCS is
small nits:
s/after/behind
s/Finally/Eventually or Subsequently
test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java line 106:
> 104: // successfully placed below 32g. So we get 0x0 as narrow klass
> 105: // base. As an enhancement the first attempt mapping the CCS should
> 106: // be made below 32g if oops are compressed but the heap is above 32g.
I'd remove the enhancement remark since it is slightly confusing and irrelevant to the test in its current form. If you want to mention it, could you please create a JBS issue and mention it here ("see also JDK-xxxx").
-------------
Marked as reviewed by stuefe (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1512
More information about the hotspot-runtime-dev
mailing list