On Mon, Aug 09, 2021 at 10:41:40AM +0200, Michal Hocko wrote: [snip] > > >From fc30718c40f02ba5ea73456af49173e66b5032c1 Mon Sep 17 00:00:00 2001 > > From: Ben Widawsky <ben.widawsky@xxxxxxxxx> > > Date: Thu, 5 Aug 2021 23:01:11 -0400 > > Subject: [PATCH] mm/hugetlb: add support for mempolicy MPOL_PREFERRED_MANY > > > > Implement the missing huge page allocation functionality while obeying the > > preferred node semantics. This is similar to the implementation for > > general page allocation, as it uses a fallback mechanism to try multiple > > preferred nodes first, and then all other nodes. > > > > To avoid adding too many "#ifdef CONFIG_NUMA" check, add a helper function > > in mempolicy.h to check whether a mempolicy is MPOL_PREFERRED_MANY. > > > > [akpm: fix compling issue when merging with other hugetlb patch] > > [Thanks to 0day bot for catching the !CONFIG_NUMA compiling issue] > > [Michal Hocko: suggest to remove the #ifdef CONFIG_NUMA check] > > Link: https://lore.kernel.org/r/20200630212517.308045-12-ben.widawsky@xxxxxxxxx > > Link: https://lkml.kernel.org/r/1627970362-61305-4-git-send-email-feng.tang@xxxxxxxxx > > Suggested-by: Michal Hocko <mhocko@xxxxxxxx> > > Signed-off-by: Ben Widawsky <ben.widawsky@xxxxxxxxx> > > Co-developed-by: Feng Tang <feng.tang@xxxxxxxxx> > > Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx> > > Yeah. This looks much better. Thanks! > Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thank you! > Do you think you can provide same helpers for other policies as well? > Maybe we can get rid of some other ifdefery as well. Sure. I can make separate patch(es) for that. And you mean helper like mpol_is_bind/default/local/preferred? I just run 'git-grep MPOL', and for places using "mode == MPOL_XXX", mostly they are in mempolicy.[ch], the only another place is in shmem.c, do we need to create all the helpers for it and the potential future users? Thanks, Feng