New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8276055: ZGC: Defragment address space #6137
8276055: ZGC: Defragment address space #6137
Conversation
|
Webrevs
|
Mailing list message from Stefan Karlsson on hotspot-gc-dev: Looks good! StefanK On 2021-10-27 14:19, Per Liden wrote: |
@pliden This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 11 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
|
Thanks for reviewing! /integrate |
Going to push as commit 1750a6e.
Your commit was automatically rebased without conflicts. |
In ZGC, small pages are allocated from the beginning of the address space (low addresses), while medium and large pages are allocated from the end of the address space (high addresses). However, small pages can sometimes end up on a high address if a medium or a large page was split into small pages. Over time this can cause the address space to become fragmented, with the risk of eventually running out of address space for new large allocations.
To mitigate this, we can defragment the address space by letting small pages at high addresses be remapped to lower addresses. That's what this patch does.
Testing:
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6137/head:pull/6137
$ git checkout pull/6137
Update a local copy of the PR:
$ git checkout pull/6137
$ git pull https://git.openjdk.java.net/jdk pull/6137/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 6137
View PR using the GUI difftool:
$ git pr show -t 6137
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6137.diff