Mercurial > hg > arm32-8
changeset 7218:ae374055ebce
8053998: Hot card cache flush chunk size too coarse grained
Summary: Changed the chunk size to a smaller fixed number.
Reviewed-by: tschatzl, mgerdin
author | mlarsson |
---|---|
date | Thu, 18 Sep 2014 11:27:59 +0200 |
parents | c132be0fb74d |
children | b6a1bf5222c5 |
files | src/share/vm/gc_implementation/g1/g1HotCardCache.cpp src/share/vm/gc_implementation/g1/g1HotCardCache.hpp |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp Fri Dec 19 09:21:06 2014 +0100 +++ b/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp Thu Sep 18 11:27:59 2014 +0200 @@ -43,9 +43,7 @@ _hot_cache_idx = 0; // For refining the cards in the hot cache in parallel - uint n_workers = (ParallelGCThreads > 0 ? - _g1h->workers()->total_workers() : 1); - _hot_cache_par_chunk_size = MAX2(1, _hot_cache_size / (int)n_workers); + _hot_cache_par_chunk_size = (int)(ParallelGCThreads > 0 ? ClaimChunkSize : _hot_cache_size); _hot_cache_par_claimed_idx = 0; _card_counts.initialize(card_counts_storage);
--- a/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp Fri Dec 19 09:21:06 2014 +0100 +++ b/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp Thu Sep 18 11:27:59 2014 +0200 @@ -70,6 +70,9 @@ G1CardCounts _card_counts; + // The number of cached cards a thread claims when flushing the cache + static const int ClaimChunkSize = 32; + bool default_use_cache() const { return (G1ConcRSLogCacheSize > 0); }