RFR: 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default [v2]

Jie Fu jiefu at openjdk.java.net
Wed May 26 14:28:39 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/

Jie Fu has updated the pull request incrementally with one additional commit since the last revision:

  Remove os::Linux namespace for numa_syscall_check()

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4205/files
  - new: https://git.openjdk.java.net/jdk/pull/4205/files/a40c9f1c..ea84a321

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4205&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4205&range=00-01

  Stats: 31 lines in 2 files changed: 15 ins; 16 del; 0 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