RFR: 8209346: Refactor SATBMarkQueue filter configuration

Kim Barrett kim.barrett at oracle.com
Tue Aug 14 15:47:46 UTC 2018


> On Aug 14, 2018, at 5:06 AM, Roman Kennke <rkennke at redhat.com> wrote:
> 
> 
>>> On Aug 13, 2018, at 6:40 AM, Roman Kennke <rkennke at redhat.com> wrote:
>>> 
>>> Oops no wait. This was intended to go to another thread.
>>> 
>>> Doesn't this require a change in g1_globals.hpp for the changed global?
>>> 
>>> While changing the global anyway, could we make it non-G1 too?
>> 
>> I didn’t change the global at all.
> 
> Ah right. I wasn't aware that G1SATBBufferEnqueueingThresholdPercent did
> already exist. However, now G1SATBProcessCompletedThreshold is unused,
> is it?

It’s still used.  g1CollectedHeap.cpp:
1693                                                  G1SATBProcessCompletedThreshold,
1694                                                  G1SATBBufferEnqueueingThresholdPercent,

1693 is old, 1694 is new.  G1SATBProcessCompletedThreshold is used to specify the
parameter value for a completely different behavior, e.g. how many completed buffers
may be accumulated before signaling to the corresponding concurrent GC threads
that there is work waiting to be done.

G1SATBBufferEnqueueingThresholdPercent is being changed to be used in the same
way, e.g. as an argument to initialize that sets a member that controls a behavior, rather
than having the (generic) behavior directly examine the (G1-specific) option.

>> I changed the internal handling of the configuration value, translating it from a
>> percentage to an index for direct comparison with the post-filtered buffer index,
>> rather than the old code that used that index to compute percent full and compared
>> that to the CLA option.  But the form of the configuration value (a percent full
>> threshold) hasn’t changed.
> 
> I see. The change looks good to me.
> 
> Thank you!
> Roman

Thanks.




More information about the hotspot-gc-dev mailing list