RFR (M): 8153507: Improve Card Table Clear Task
jon.masamitsu at oracle.com
Thu Apr 28 20:18:51 UTC 2016
IsDirtyRegionState will probably always be a jbyte
161 memset(_in_dirty_region_buffer, Clean, _max_regions * sizeof(jbyte));
but maybe this would be appropriate
161 memset(_in_dirty_region_buffer, Clean, _max_regions *
_cur_dirty_regions is the index of a single region, yes? So the
singular form _cur_dirty_region
is more accurate?
Rest looks good.
My two points are minor so I don't need to see a new webrev (and
by inference, you can decide which way to go on both).
On 04/28/2016 04:15 AM, Thomas Schatzl wrote:
> Hi all,
> during performance measurements of the Card Table Clear task it has
> been shown that the current way of distributing work is way too fine
> grained. Threads are stalling most of the time on the atomic cmpxchg
> during work distribution instead of doing work.
> This change tries to fix this by changing the way how the "dirty"
> regions are stored from a single linked list to a set of region
> indices, where the usual claim-by-chunks technique can be applied.
> Further using we can effectively limit the number of threads used by
> the API introduced by JDK-8155232.
> Third, by reorganizing the code into the g1RemSet files, clutter across
> the g1 code is minimized.
> jprt, vm.gc testlist
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev