RFR: 8190408: Run G1CMRemarkTask with the appropriate amount of threads instead of starting up everyone
stefan.johansson at oracle.com
Tue Nov 21 15:34:04 UTC 2017
On 2017-11-21 16:09, Thomas Schatzl wrote:
> On Tue, 2017-11-21 at 15:56 +0100, Leo Korinth wrote:
>> Removing an if statement. The if-statement did safeguard that the
>> worker_id was always within the number of active tasks in _cm.
>> However the active number of tasks in _cm is set directly before the
>> remark task is created (set_concurrency_and_phase()). The value is
>> taken from the work gang (g1h->workers()->active_workers()). Thus, as
>> set_concurrency*() is not called during the actual remarking, the
>> of the work-gang will be in sync with the _cm->active_tasks() -- at
>> least during the remark phase.
>> The code becomes somewhat easier to read, and hopefully one does not
>> get confused that we have too many threads running.
> Looks good.
More information about the hotspot-gc-dev