[v3 PATCH 0/3] mm/mempolicy: some fix and semantics cleanup

From: Feng Tang
Date: Mon May 31 2021 - 11:14:17 EST


Hi All,

We've posted v4 patchset introducing a new "perfer-many" memory policy
https://lore.kernel.org/lkml/1615952410-36895-1-git-send-email-feng.tang@xxxxxxxxx/ ,
for which Michal Hocko gave many comments while pointing out some
problems, and we also found some semantics confusion about 'prefer'
and 'local' policy, as well as some duplicated code. This patchset
tries to address them. Please help to review, thanks!

The patchset has been run with some sanity test like 'stress-ng'
and 'ltp', and no problem found.

Thanks,
Feng

Changelogs:
v3:
* fix logic of mpol_rebind_preferred() (Michal Hocko)

v2:
* rename mempolicy_nodemask_intersects() to
mempolicy_in_oom_domain() and correct commit log (Michal Hocko)
* change the mpol syscall param sanity check (Michal Hocko)
* combine the 3/4 and 4/4 in v1 into one patch,
and further clean the logic (Michal Hocko)

v1:
* use helper func instead of macro for patch 2/4 (David Rientjes)
* fix a possible null pointer case in patch 3/4
* update commit log for 1/4

RFC v2:
* add for oom check fix patch 1/4
* add the unification patch for mpol preprocess 2/4

Feng Tang (3):
mm/mempolicy: cleanup nodemask intersection check for oom
mm/mempolicy: don't handle MPOL_LOCAL like a fake MPOL_PREFERRED
policy
mm/mempolicy: unify the parameter sanity check for mbind and
set_mempolicy

include/linux/mempolicy.h | 2 +-
include/uapi/linux/mempolicy.h | 1 -
mm/mempolicy.c | 212 ++++++++++++++++++-----------------------
mm/oom_kill.c | 2 +-
4 files changed, 95 insertions(+), 122 deletions(-)

--
2.7.4