Re: [PATCH v5 2/3] mm/mempolicy: add set_mempolicy_home_node syscall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon 29-11-21 19:17:06, Aneesh Kumar K.V wrote:
> Michal Hocko <mhocko@xxxxxxxx> writes:
[...]
> > But you do allow to set the home node also for other policies and that
> > means that a default MPOL_INTERLEAVE would be different from the one
> > with home_node set up even though they behave exactly the same.
> 
> I agree that there is no error returned if we try to set the home_node
> for other memory policies. But there should not be any behaviour
> differences. We ignore home_node for policies other than BIND and
> PREFERRED_MANY.
> 
> The reason I avoided erroring out for other policies was to simplify the
> error handling.

But this leads to a future extensions problems. How do you tell whether
a specific policy has a support for home node?

> For example, for a range of addr with a mix of memory
> policy MPOLD_BIND and MPOL_INTERLEAVE what should be the state after the
> above system call?

Do we even allow to combinate different memory policies?

> We could say, we ignore setting home_node for vma
> with policy MPOL_INTERLEAVE and leave the home node set for vma with
> policy MPOL_BIND. Or should we make the system call return error also
> undoing the changes done for vmas for which we have set the home_node?

The error behavior is really nasty with the existing behavior. The
caller has no way to tell which vmas have been updated. The only way is
to query the state. So if we return an error because of an incompatible
mempolicy in place we are not much worse than now. If the "error" is
silent then we establish a dependency on the specific implementation.
-- 
Michal Hocko
SUSE Labs




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux