[LTP] [PATCH] numa_helper: don't break is_numa() with TCONF

Cyril Hrubis chrubis@suse.cz
Mon Feb 22 15:26:33 CET 2016

> > Now I'm confused. You said that the syscall can exit -1 and ENOSYS.
> Correct, get_mempolicy is not implemented on aarch64.
> > In that case the filter_nodemask_mem() returns -2 which is propagated from
> > get_allowed_nodes_arr() to is_numa() where the test ends with TBROK
> > rather than with TCONF.
> It won't return -2 for ENOSYS, because of this line:
> +        if (ret < 0 && errno != ENOSYS)
>                  return -2;
> > Or did I miss something?
> I didn't make it clear in commit message that patch now silently ignores ENOSYS
> from get_mempolicy. In this case get_allowed_nodes should return success, but
> returned node set should be empty (I'll double check that this is the case on aarch64).

Ah right I somehow missed that (I blame it on not enough coffe in
bloodstream). So is_numa() returns 0 in that case, which is fine.

If node set is empty the get_allowed_nodes() will fail since the
num_nodes will end up set to 0 and get_allowed_nodes() will return with
-3 and errno EINVAL since we cannot set the requested node. And looks
like at least oom04 and oom05 call TBROK if there isn't one allowed

Cyril Hrubis

More information about the Ltp mailing list