RFR: 8256155: os::Linux Populate all large_page_sizes, select smallest page size in reserve_memory_special_huge_tlbfs* [v26]
Marcus G K Williams
github.com+168222+mgkwill at openjdk.java.net
Mon Mar 29 15:38:45 UTC 2021
> When using LargePageSizeInBytes=1G, os::Linux::reserve_memory_special_huge_tlbfs* cannot select large pages smaller than 1G. Code heap usually uses less than 1G, so currently the code precludes code heap from using
> Large pages in this circumstance and when os::Linux::reserve_memory_special_huge_tlbfs* is called page sizes fall back to Linux::page_size() (usually 4k).
>
> This change allows the above use case by populating all large_page_sizes present in /sys/kernel/mm/hugepages in _page_sizes upon calling os::Linux::setup_large_page_size().
>
> In os::Linux::reserve_memory_special_huge_tlbfs* we then select the largest large page size available in _page_sizes that is smaller than bytes being reserved.
Marcus G K Williams has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 43 commits:
- Rebase on pull/3073
Signed-off-by: Marcus G K Williams <marcus.williams at intel.com>
- Merge branch 'pull/3073' into update_hlp
- Thomas review.
Changed commit_memory_special to return bool to signal if the request succeeded or not.
- Self review.
Update helper name to better match commit_memory_special().
- Marcus review.
Updated comments.
- Ivan review
Renamed helper to commit_memory_special and updated the comments.
- 8262291: Refactor reserve_memory_special_huge_tlbfs
- Merge branch 'master' into update_hlp
- Addressed kstefanj review suggestions
Signed-off-by: Marcus G K Williams <marcus.williams at intel.com>
- Use SIZE_FORMAT in logging
Signed-off-by: Marcus G K Williams <marcus.williams at intel.com>
- ... and 33 more: https://git.openjdk.java.net/jdk/compare/41276eb8...a9b3dee4
-------------
Changes: https://git.openjdk.java.net/jdk/pull/1153/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1153&range=25
Stats: 282 lines in 4 files changed: 80 ins; 101 del; 101 mod
Patch: https://git.openjdk.java.net/jdk/pull/1153.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1153/head:pull/1153
PR: https://git.openjdk.java.net/jdk/pull/1153
More information about the hotspot-dev
mailing list