RFR (L): 8230706: Waiting on completion of strong nmethod processing causes long pause times with G1

Thomas Schatzl thomas.schatzl at oracle.com
Wed Oct 23 08:39:22 UTC 2019


Hi Stefan,

On 23.10.19 09:05, Stefan Johansson wrote:
> Hi Thomas,
> 
> On 2019-10-22 15:45, Thomas Schatzl wrote:
>> Hi Kim,
>>
>> On 22.10.19 15:44, Kim Barrett wrote:
>>>> On Oct 22, 2019, at 6:13 AM, Thomas Schatzl 
[...]>>>> Webrevs:
>>>> http://cr.openjdk.java.net/~tschatzl/8230706/webrev.2_to_3/ (diff)
>>>> http://cr.openjdk.java.net/~tschatzl/8230706/webrev.3/ (full)
> 
> This looks good, and well documented :)
> 
> One small thing:
> src/hotspot/share/gc/g1/g1SharedClosures.hpp
> ---
>   46     _codeblobs(pss->worker_id(), &_oops, Mark == G1MarkFromRoot) {}
> 
> What do you think about adding a helper for Mark == G1MarkFromRoot, 
> something like need_strong_processing() and a comment explaining that it 
> will be true during initial mark.

Something like this?

http://cr.openjdk.java.net/~tschatzl/8230706/webrev.3_to_4/ (diff)
http://cr.openjdk.java.net/~tschatzl/8230706/webrev.4/ (full)

Not completely sure if that is required as searching for G1MarkFromRoot 
shows that it is only used for the strong shared closures in the initial 
mark closure set. But I understand that it is nice to be reminded about 
this.

Thanks for your and Kim's reviews.

Thanks,
   Thomas



More information about the hotspot-gc-dev mailing list