RFR: 8366780: Enhance ProcSmapsParser and Printer to handle THPeligible field

Stefan Johansson sjohanss at openjdk.org
Thu Sep 4 14:24:59 UTC 2025


Please review this enhancement to the smaps parser and printer.

**Summary**
While working on [JDK-8366434](https://bugs.openjdk.org/browse/JDK-8366434) one idea for a test to verify if the heap CAN be backed by transparent huge pages (THP) was to use PrintMemoryMapAtExit and look at the tags printed for JAVAHEAP.

It turns out this worked in most cases but on systems where the THP mode is configured as 'always' but there are no huge pages available for use, the JAVAHEAP line will not show any indication that it can be backed by huge pages.

For this to be possible we need to parse the field THPeligible as well and include this information in the printouts. With this change we now parse the THPeligible field and tag mapping that are THP eligible with `thpel`. We skip this tag for mappings that are tagged with `thpad` (madvised with MADV_HUGEPAGE) to avoid too much THP info on one mapping.

**Testing**
* Mach5 testing with the existing test showed a need to update the regex for verifying Metaspace and the fix have been tested manually locally as well as in Mach5.

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

Commit messages:
 - Fix test
 - 8366780: Enhance ProcSmapsParser and Printer to handle THPeligible field

Changes: https://git.openjdk.org/jdk/pull/27098/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27098&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8366780
  Stats: 20 lines in 4 files changed: 9 ins; 0 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/27098.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27098/head:pull/27098

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


More information about the serviceability-dev mailing list