RFR: 8337217: Port VirtualMemoryTracker to use VMATree [v19]
Afshin Zafari
azafari at openjdk.org
Thu Jan 30 11:30:39 UTC 2025
> - `VMATree` is used instead of `SortedLinkList` in new class `VirtualMemoryTrackerWithTree`.
> - A wrapper/helper `RegionTree` is made around VMATree to make some calls easier.
> - Both old and new versions exist in the code and can be selected via `MemTracker::set_version()`
> - `find_reserved_region()` is used in 4 cases, it will be removed in further PRs.
> - All tier1 tests pass except one ~that expects a 50% increase in committed memory but it does not happen~ https://bugs.openjdk.org/browse/JDK-8335167.
> - Adding a runtime flag for selecting the old or new version can be added later.
> - Some performance tests are added for new version, VMATree and Treap, to show the idea and should be improved later. Based on the results of comparing speed of VMATree and VMT, VMATree shows ~40x faster response time.
Afshin Zafari has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 64 commits:
- Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_with_tree
- merge with the new lock mechanism for NMT
- merge with master
- one small fix for SSIZE_FORMAT
- Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_with_tree
- undo overlapping checks.
- size_t format fixed.
- fix for debug prints
- added overlap checks.
- Merge remote-tracking branch 'origin/master' into _8337217_nmt_VMT_with_tree
- ... and 54 more: https://git.openjdk.org/jdk/compare/fb0f2d25...c0670b64
-------------
Changes: https://git.openjdk.org/jdk/pull/20425/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20425&range=18
Stats: 3388 lines in 50 files changed: 1535 ins; 1583 del; 270 mod
Patch: https://git.openjdk.org/jdk/pull/20425.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20425/head:pull/20425
PR: https://git.openjdk.org/jdk/pull/20425
More information about the hotspot-runtime-dev
mailing list