Skip to content

Commit 36f6d15

Browse files
committed
8354517: Parallel: JDK-8339668 causes up to 3.7x slowdown in openjdk.bench.vm.gc.systemgc
Reviewed-by: tschatzl, aboldtch, zgu
1 parent ae7ae84 commit 36f6d15

File tree

5 files changed

+9
-6
lines changed

5 files changed

+9
-6
lines changed

src/hotspot/share/gc/g1/g1ParScanThreadState.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h,
8080
_surviving_young_words(nullptr),
8181
_surviving_words_length(collection_set->young_region_length() + 1),
8282
_old_gen_is_full(false),
83-
_partial_array_splitter(g1h->partial_array_state_manager(), num_workers),
83+
_partial_array_splitter(g1h->partial_array_state_manager(), num_workers, ParGCArrayScanChunk),
8484
_string_dedup_requests(),
8585
_max_num_optional_regions(collection_set->num_optional_regions()),
8686
_numa(g1h->numa()),

src/hotspot/share/gc/parallel/psCompactionManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ PreservedMarksSet* ParCompactionManager::_preserved_marks_set = nullptr;
5858
ParCompactionManager::ParCompactionManager(PreservedMarks* preserved_marks,
5959
ReferenceProcessor* ref_processor,
6060
uint parallel_gc_threads)
61-
:_partial_array_splitter(_partial_array_state_manager, parallel_gc_threads),
61+
:_partial_array_splitter(_partial_array_state_manager, parallel_gc_threads, ObjArrayMarkingStride),
6262
_mark_and_push_closure(this, ref_processor) {
6363

6464
ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();

src/hotspot/share/gc/parallel/psPromotionManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ PartialArrayTaskStats* PSPromotionManager::partial_array_task_stats() {
166166

167167
// Most members are initialized either by initialize() or reset().
168168
PSPromotionManager::PSPromotionManager()
169-
: _partial_array_splitter(_partial_array_state_manager, ParallelGCThreads)
169+
: _partial_array_splitter(_partial_array_state_manager, ParallelGCThreads, ParGCArrayScanChunk)
170170
{
171171
// We set the old lab's start array.
172172
_old_lab.set_start_array(old_gen()->start_array());

src/hotspot/share/gc/shared/partialArraySplitter.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
#include "utilities/macros.hpp"
2929

3030
PartialArraySplitter::PartialArraySplitter(PartialArrayStateManager* manager,
31-
uint num_workers)
31+
uint num_workers,
32+
size_t chunk_size)
3233
: _allocator(manager),
33-
_stepper(num_workers, ParGCArrayScanChunk)
34+
_stepper(num_workers, chunk_size)
3435
TASKQUEUE_STATS_ONLY(COMMA _stats())
3536
{}
3637

src/hotspot/share/gc/shared/partialArraySplitter.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ class PartialArraySplitter {
4343
TASKQUEUE_STATS_ONLY(PartialArrayTaskStats _stats;)
4444

4545
public:
46-
PartialArraySplitter(PartialArrayStateManager* manager, uint num_workers);
46+
PartialArraySplitter(PartialArrayStateManager* manager,
47+
uint num_workers,
48+
size_t chunk_size);
4749
~PartialArraySplitter() = default;
4850

4951
NONCOPYABLE(PartialArraySplitter);

0 commit comments

Comments
 (0)