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

Vishal Chand github.com+10235864+vish-chan at openjdk.java.net
Sun Oct 10 12:34:16 UTC 2021


On Fri, 8 Oct 2021 17:05:32 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Let's keep the minimum card size to 512 for now, this can be investigated further separately. As you said, this can be changed easily.
>
> Also please do not scale card table entry size with region size - there are some applications (many references, large remembered sets; e.g. the one in [JDK-8152438](https://bugs.openjdk.java.net/browse/JDK-8152438)) that with a 1024 card table size show 30% longer pause times. (Actually, they benefit a lot from smaller card table entry size, i.e. they get around the same pause time improvement with e.g. 256 byte sized card table entry size if heap region size permits).

Currently I'm not scaling card size with region size, as it is not required. With current supported region sizes (1M to 32M) and card sizes (512b, 1024B), all the possible combinations of region size and card size are valid combinations. If we include 256b cards or 64M regions, then invalid combinations will be there which would need to be handled. 
Do you think that code/logic is needed now, or we can add if and when needed?

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

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



More information about the hotspot-gc-dev mailing list