RFR: 8242847: G1 should not clear mark bitmaps with no marks [v2]
Ivan Walulya
iwalulya at openjdk.java.net
Tue Aug 24 09:45:48 UTC 2021
On Mon, 23 Aug 2021 12:47:40 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> src/hotspot/share/gc/g1/g1ConcurrentMark.cpp line 614:
>>
>>> 612: return r->next_top_at_mark_start();
>>> 613: }
>>> 614: return r->end();
>>
>> If not in the `UndoMark` operation (and doing the work concurrently), we could use the `prev_top_at_mark_start()` here, couldn't we?
>
> Out of curiosity, did you measure what gain (in saved bitmap distance) does using the TAMSes give here? Asking because most TAMSes should be either at the end (=almost the same as top) or bottom of the region, only the current old gen allocation region at the time of the concurrent mark start pause may have a different one (I think).
>
> Maybe that additional suggested (by me) optimization is not worth the effort...
You are right, only in a few cases is TAMS below end, and even then, it is way smaller than chunk_size_in_words.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5213
More information about the hotspot-gc-dev
mailing list