8205921: Optimizing best-of-2 work stealing queue selection

Bias towards stealing from queues that we recently successfully stole from to decrease the number of unsuccessful steal attempts.

Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: eosterlund, kbarrett
This commit is contained in:
Zhengyu Gu 2018-08-03 11:06:10 +02:00
parent c4faf01f86
commit 4555c28590
19 changed files with 119 additions and 93 deletions

View file

@ -159,9 +159,9 @@ private:
// Access function for compaction managers
static ParCompactionManager* gc_thread_compaction_manager(uint index);
static bool steal(int queue_num, int* seed, oop& t);
static bool steal_objarray(int queue_num, int* seed, ObjArrayTask& t);
static bool steal(int queue_num, int* seed, size_t& region);
static bool steal(int queue_num, oop& t);
static bool steal_objarray(int queue_num, ObjArrayTask& t);
static bool steal(int queue_num, size_t& region);
// Process tasks remaining on any marking stack
void follow_marking_stacks();