8370417: Parallel: TestAlwaysPreTouchBehavior.java fails with NUMA

Reviewed-by: iveresov, jsikstro, tschatzl
This commit is contained in:
Albert Mingkun Yang 2025-10-28 12:17:19 +00:00
parent 9625993611
commit 19920df81d

View File

@ -25,6 +25,7 @@
#include "gc/parallel/mutableNUMASpace.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gc_globals.hpp"
#include "gc/shared/pretouchTask.hpp"
#include "gc/shared/spaceDecorator.hpp"
#include "gc/shared/workerThread.hpp"
#include "memory/allocation.inline.hpp"
@ -388,6 +389,14 @@ void MutableNUMASpace::initialize(MemRegion mr,
bias_region(bottom_region, ls->lgrp_id());
bias_region(top_region, ls->lgrp_id());
if (AlwaysPreTouch) {
PretouchTask::pretouch("ParallelGC PreTouch bottom_region", (char*)bottom_region.start(), (char*)bottom_region.end(),
page_size(), pretouch_workers);
PretouchTask::pretouch("ParallelGC PreTouch top_region", (char*)top_region.start(), (char*)top_region.end(),
page_size(), pretouch_workers);
}
// Clear space (set top = bottom) but never mangle.
s->initialize(new_region, SpaceDecorator::Clear, SpaceDecorator::DontMangle, MutableSpace::DontSetupPages);
}