On Mon 09-08-21 20:37:47, Feng Tang wrote: > 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? I would just go with those instances which need to ifdef for NUMA. Thanks! -- Michal Hocko SUSE Labs