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

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


Hi!
> > 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
node.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the Ltp mailing list