RFR: 8272773: Investigate making card table size configurable [v3]

Vishal Chand duke at openjdk.java.net
Wed Oct 13 20:33:50 UTC 2021


On Fri, 8 Oct 2021 20:16:45 GMT, Vishal Chand <duke at openjdk.java.net> wrote:

>> Hi,
>> 
>> Please review the changes to make CardTable entry size configurable. The changes primarily consists of:
>> 
>> 1. Addition of a cmdline flag **GCCardSizeInBytes** to make the card size startup time configurable.
>> 2. Setting the card size based on the flag in G1, Parallel and Serial GC memory initialization paths.
>> 3. Setting BlockOffsetTable size and ObjectStartArray size based on the card size.
>
> Vishal Chand has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Merge branch 'card-size-configurable' of https://github.com/vish-chan/jdk into card-size-configurable
>  - Changes as per the first set of comments

src/hotspot/share/gc/g1/g1CardTable.hpp line 79:

> 77:   static const size_t WordAllClean = SIZE_MAX;
> 78:   static const size_t WordAllDirty = 0;
> 79:   static const size_t LogOfMaxCardsPerRegion = BitsPerByte * sizeof(G1CardSetArray::EntryDataType);

@tschatzl Do we need this code once JDK-8275056 (Virtualize G1CardSet containers over heap region) gets integrated? From my understanding, this won't be a restriction from heap region point of view. Do I need to remove this and the changes in `g1CardTable.cpp `?

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

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



More information about the hotspot-gc-dev mailing list