RFR: JDK-8313319: [linux] mmap should use MAP_FIXED_NOREPLACE if available [v3]
Thomas Stuefe
stuefe at openjdk.org
Wed Aug 23 09:13:13 UTC 2023
> os::attempt_reserve_memory_at() is used to map memory at a specific address that we fancy. It is not used to replace an existing mapping (hence we omit MAP_FIXED).
>
> But it may result in the kernel creating a mapping at a different address if our wish address is blocked; we then have to unmap again. That mmap-munmap cycle is unnecessary.
>
> MAP_FIXED_NOREPLACE exists since Linux 4.17 and prevents that unnecessary cycle . We should use that if available. We need to tiptoe around a bit to deal with building on old machines/running on old kernels, though.
Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
- feedback david
- Merge branch 'master' into JDK-8313319-MAP_FIXED_NOREPLACE
- Merge branch 'openjdk:master' into JDK-8313319-MAP_FIXED_NOREPLACE
- DK-8313319-MAP_FIXED_NOREPLACE
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15170/files
- new: https://git.openjdk.org/jdk/pull/15170/files/c2a2b760..2dfa2bf3
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15170&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15170&range=01-02
Stats: 5843 lines in 330 files changed: 4199 ins; 662 del; 982 mod
Patch: https://git.openjdk.org/jdk/pull/15170.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15170/head:pull/15170
PR: https://git.openjdk.org/jdk/pull/15170
More information about the hotspot-runtime-dev
mailing list