Integrated: 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default

Jie Fu jiefu at openjdk.java.net
Fri May 28 13:55:11 UTC 2021


On Wed, 26 May 2021 12:49:34 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> 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/

This pull request has now been integrated.

Changeset: 1413f9e0
Author:    Jie Fu <jiefu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/1413f9e070b19bed33a4552f3e7adb53cf7daf73
Stats:     17 lines in 1 file changed: 16 ins; 0 del; 1 mod

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

Reviewed-by: dholmes, pliden

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

PR: https://git.openjdk.java.net/jdk/pull/4205


More information about the hotspot-runtime-dev mailing list