RFR (S) 8008217: CDS: Class data sharing limits the malloc heap on Solaris

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Mar 18 10:32:35 PDT 2013


Coleen,

First, your description is not accurate. Should be something like this:

"In 64bit VM move CDS archive address to 32G on all platforms using new 
flag SharedBaseAddress.
In 32bit VM set CDS archive address to 2Gb on Linux and let other OSs 
pick the address."

I think you need to always set SharedBaseAddress to 32G with the flag 
description that it is default for 64-bit VM. Special flag setting for 
Linux in 32bit VM could be done in VirtualSpaceNode() or in 
arguments.cpp (where CDS values are set) under #ifdef if the value is 
default.

Also setting in 32bit VM the CDS address on Linux to 2G may limit 
ability to specify large java heap size since 2G is in the middle of 
virtual space. Can it be somewhere at the top of virtual space (4G - 
cds_size)? Or at the bottom? Did you look on heap mapping in that case? 
Note, HeapBaseMinAddress was never used in 32bit VM before NPG.

Thanks,
Vladimir

On 3/18/13 7:51 AM, Coleen Phillimore wrote:
>
> Adding in some more potential reviewers...  please review!
> Thanks,
> Coleen
>
> On 03/15/2013 02:25 PM, Coleen Phillimore wrote:
>> Summary: Don't use HeapBaseMinAddress on solaris, let the OS pick the
>> CDS archive address on solaris.  Move all CDS archive addresses up to
>> 32G on 64 bit.
>>
>> On Linux, this still uses 2*G address because running ute, we can't
>> seem get the same address that -Xshare:dump choses. Solaris chooses a
>> higher address which seems to work fine.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8008217/
>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8008217
>>
>> Tested manually with gc/gctests/ManyObjects on all platforms.  To add
>> a jtreg test, we'd have to introduce a new flag to change the location
>> of the shared archive because we don't have write access to JAVA_HOME
>> while testing.   Do people think this is worth doing?
>>
>> Thanks,
>> Coleen
>


More information about the hotspot-runtime-dev mailing list