RFR (XXL): 8213108: Improve work distribution during remembered set scan

Thomas Schatzl thomas.schatzl at oracle.com
Tue Jun 25 07:57:07 UTC 2019


Hi,

On Mon, 2019-06-24 at 19:55 +0200, Leo Korinth wrote:
> Hi!
> 
> Sorry for taking so very long time to review. In g1RemSet.cpp:
> 
> * uint const num_chunks = (uint)align_up((size_t)num_regions << 
> HeapRegion::LogCardsPerRegion, G1ClearCardTableTask::chunk_size()) / 
> G1ClearCardTableTask::chunk_size();
> 
> make sure the (uint) cast is done after the division (so not to cast 
> away bits).
> 
> * initialize _scan_chunks_shift in initializer list to silence
> eclipse 
> warnings.
> 
> * in ::memset(_region_scan_chunks, false, _max_regions * 
> _scan_chunks_per_region); please multiply last argument with 
> sizeof(*_region_scan_chunks)
> 
> Otherwise it looks very good to my untrained eyes. I gave you a few 
> extra ideas off list, you may add some of them if you like.
> 
> Thanks,
> Leo
> 
> 

nice finds!

I fixed most of your suggestions that had something to do with the
current changes; there were other cleanups that were in unrelated code
that I will fix later.

http://cr.openjdk.java.net/~tschatzl/8213108/webrev.2_to_3/ (diff)
http://cr.openjdk.java.net/~tschatzl/8213108/webrev.3/ (full)

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list