mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
6862387: tune concurrent refinement further
Reworked the concurrent refinement: threads activation, feedback-based threshold adjustment, other miscellaneous fixes. Reviewed-by: apetrusenko, tonyp
This commit is contained in:
parent
1bed5a3ded
commit
1383dc414b
16 changed files with 509 additions and 307 deletions
|
@ -84,11 +84,12 @@ class DirtyCardQueueSet: public PtrQueueSet {
|
|||
jint _processed_buffers_rs_thread;
|
||||
|
||||
public:
|
||||
DirtyCardQueueSet();
|
||||
DirtyCardQueueSet(bool notify_when_complete = true);
|
||||
|
||||
void initialize(Monitor* cbl_mon, Mutex* fl_lock,
|
||||
int max_completed_queue = 0,
|
||||
Mutex* lock = NULL, PtrQueueSet* fl_owner = NULL);
|
||||
int process_completed_threshold,
|
||||
int max_completed_queue,
|
||||
Mutex* lock, PtrQueueSet* fl_owner = NULL);
|
||||
|
||||
// The number of parallel ids that can be claimed to allow collector or
|
||||
// mutator threads to do card-processing work.
|
||||
|
@ -123,9 +124,9 @@ public:
|
|||
bool during_pause = false);
|
||||
|
||||
bool apply_closure_to_completed_buffer_helper(int worker_i,
|
||||
CompletedBufferNode* nd);
|
||||
BufferNode* nd);
|
||||
|
||||
CompletedBufferNode* get_completed_buffer(int stop_at);
|
||||
BufferNode* get_completed_buffer(int stop_at);
|
||||
|
||||
// Applies the current closure to all completed buffers,
|
||||
// non-consumptively.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue