RFR: Aggregated bitmap slicing

Roman Kennke rkennke at redhat.com
Thu Oct 12 09:56:04 UTC 2017


Am 12.10.2017 um 11:26 schrieb Aleksey Shipilev:
> On 10/11/2017 05:05 PM, Aleksey Shipilev wrote:
>> http://cr.openjdk.java.net/~shade/shenandoah/bitmaps-uncommit-aggr/wevrev.01/
>>
>> Bitmap slice uncommit works well on x86, where the default page size is 4K. But, on platforms that
>> have larger default page sizes, notably AArch64 that has 64K pages, current bitmap slicing drives
>> the minimum region size to at least 4M, and 10 min regions take 40M of Java heap. This is not
>> pleasant, and we can do better.
>>
>> The way out is to aggregate regions per each bitmap slice: when all regions with the bitmap slice
>> uncommit, uncommit the bitmap slice. When at least one region is committed, commit the entire slice.
>> This works well for compact idle heaps.
>>
>> On the plus side, this also works with UseLargePages for bitmaps!
> We have discovered some bad testing failures with this patch on aarch64, and this prompted me to
> rewrite it (it is also simplified):
>     http://cr.openjdk.java.net/~shade/shenandoah/bitmaps-uncommit-aggr/wevrev.02/
>
> Testing: hotspot_gc_shenandoah (x86_64 and aarch64), footprint tests
> (there are some timeouts on aarch64 that do not seem related)
ok


More information about the shenandoah-dev mailing list