RFR: 8368251: Parallel: Refactor lgrp_id used in MutableNUMASpace

Joel Sikström jsikstro at openjdk.org
Mon Sep 22 12:28:53 UTC 2025


On Mon, 22 Sep 2025 11:42:39 GMT, Joel Sikström <jsikstro at openjdk.org> wrote:

> Hello,
> 
> There are multiple cases which handle if the locality group (lgrp) id is negative (-1) in Parallel, specifically in MutableNUMASpace. -1 was historically used to indicate that the hardware topology has changed and that the lgrp id needs to be updated. This is no longer the case, since HotSpot doesn't support CPU/NUMA hotplugging, and the last piece of code setting the lgrp id to -1 was removed in [JDK-8301149](https://bugs.openjdk.org/browse/JDK-8301149).
> 
> I propose we simplify the code a bit by not handling edge cases where the lgrp id is -1 and removing os::numa_has_group_homing(), which always return false
> 
> Testing:
>  * Running through Oracle's tier 1-4
>  * Local NUMA testing tier1-4 with `-XX:+UseParallelGC -XX:+UseNUMA`

src/hotspot/os/windows/os_windows.cpp line 539:

> 537:   if (UseNUMA) {
> 538:     thread->update_lgrp_id();
> 539:   }

I'm a bit hesistant to remove this code from Windows since I have no way to test this. However, since we set `UseNUMA = false` early on initialization on Windows, Paralell should never start with NUMA enabled, so this code should effectively have no effect.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27424#discussion_r2368082735


More information about the hotspot-gc-dev mailing list