RFR: 8190408: Run G1CMRemarkTask with the appropriate amount of threads instead of starting up everyone
Leo Korinth
leo.korinth at oracle.com
Tue Nov 21 14:56:16 UTC 2017
Hi,
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 size
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.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8190408
Webrev:
http://cr.openjdk.java.net/~lkorinth/8190408/00/
Testing:
- hs-tier1, hs-tier2
Thanks,
Leo
More information about the hotspot-gc-dev
mailing list