RFR: 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default
Jie Fu
jiefu at openjdk.java.net
Wed May 26 12:57:23 UTC 2021
Hi all,
NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default.
NUMA APIs depend on several syscalls.
E.g., `get_mempolicy` is required for `numa_get_membind` and `numa_get_interleave_mask`.
But these dependent syscalls can be unsupported for various reasons.
Especially in dockers, `get_mempolicy` is not allowed with the default configuration [1].
So it's necessary to check whether the syscalls are available.
In theory, all NUMA-related syscalls should be checked.
But it seems hard to do so because some of them like `mbind` would cause unexpected side effects.
So only `get_mempolicy` is checked in the fix, which is already enough for all the default dockers.
And this can be refined in the future if it turns out to be a problem.
Thanks.
Best regards,
Jie
[1] https://docs.docker.com/engine/security/seccomp/
-------------
Commit messages:
- 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default
Changes: https://git.openjdk.java.net/jdk/pull/4205/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4205&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8241423
Stats: 18 lines in 2 files changed: 17 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/4205.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/4205/head:pull/4205
PR: https://git.openjdk.java.net/jdk/pull/4205
More information about the hotspot-runtime-dev
mailing list