RFR: 8352147: G1: TestEagerReclaimHumongousRegionsClearMarkBits test takes very long [v4]

Thomas Schatzl tschatzl at openjdk.org
Mon Mar 17 15:48:14 UTC 2025


> Hi all,
> 
>   please review this refactor of the TestEagerReclaimHumongousRegionsClearMarkBits test that runs way too long, and sometimes even causing timeouts in GHA.
> 
> So the problem is that TestEagerReclaimHumongousRegionsClearMarkBits checks whether after eager reclaim during marking the mark on the humongous object is cleared correctly. It does so with a trial-and-error approach allocating humongous objects and hoping that the faulty state somehow occurs.
> 
> This can take a long time, and although the test limits itself to 50s runtime, for some reason there can still be sporadic timeouts in some setups.
> 
> However for a long time it is possible to halt concurrent mark just before completion, inducing the exact state needed for this test. So rewrite the test to be more targeted.
> 
> Testing: gha, running test locally
> 
> Thanks,
>   Thomas

Thomas Schatzl has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:

  8352147
  
  Hi all,
  
    please review this refactor of the TestEagerReclaimHumongousRegionsClearMarkBits test that runs way too long, and sometimes even causing timeouts in GHA.
  
  So the problem is that TestEagerReclaimHumongousRegionsClearMarkBits checks whether after eager reclaim during marking the mark on the humongous object is cleared correctly. It does so with a trial-and-error approach allocating humongous objects and hoping that the faulty state somehow occurs.
  
  This can take a long time, and although the test limits itself to 50s runtime, for some reason there can still be sporadic timeouts in some setups.
  
  However for a long time it is possible to halt concurrent mark just before completion, inducing the exact state needed for this test. So rewrite the test to be more targeted.
  
  Testing: gha, running test locally
  
  Thanks,
    Thomas
  
  * also check for actual region reclamation
  * last minute typo

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24077/files
  - new: https://git.openjdk.org/jdk/pull/24077/files/86aa8495..8f3f5ae1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24077&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24077&range=02-03

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/24077.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24077/head:pull/24077

PR: https://git.openjdk.org/jdk/pull/24077


More information about the hotspot-gc-dev mailing list