On Fri, Feb 14, 2020 at 5:57 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > > On 2/14/20 5:17 PM, Randy Dunlap wrote: > > On 2/14/20 1:00 PM, Mina Almasry wrote: > >> On Fri, Feb 14, 2020 at 12:46 PM Mina Almasry <almasrymina@xxxxxxxxxx> wrote: > >>> > >>> Fixes an #ifdef bug in the patch referred to below that was > >>> causing a build error when CONFIG_DEBUG_VM && > >>> !CONFIG_CCGROUP_HUGETLB. > > > > Hi Mina, > > > > I don't know if this was supposed to fix the 2 build reports that I made, > > but this does not apply cleanly to mmotm (and it's a reply email so it's > > more difficult to apply anyway): > > > > Applying patch mm-hugetlb-fix-CONFIG_CGROUP_HUGETLB.patch > > patching file mm/hugetlb.c > > Hunk #1 succeeded at 289 with fuzz 1. > > Hunk #2 succeeded at 325 with fuzz 2. > > Hunk #3 FAILED at 435. > > 1 out of 3 hunks FAILED -- rejects in file mm/hugetlb.c > > > > OK, I applied this patch manually and it does fix most of the reported build problems. > The only one remaining is this: > > CC mm/migrate.o > In file included from ../mm/migrate.c:39:0: > ../include/linux/hugetlb_cgroup.h:146:21: warning: ‘struct file_region’ declared inside parameter list will not be visible outside of this definition or declaration > struct file_region *rg, > ^~~~~~~~~~~ > ../include/linux/hugetlb_cgroup.h:145:63: warning: ‘struct resv_map’ declared inside parameter list will not be visible outside of this definition or declaration > static inline void hugetlb_cgroup_uncharge_file_region(struct resv_map *resv, > ^~~~~~~~ > ../include/linux/hugetlb_cgroup.h:233:59: warning: ‘struct resv_map’ declared inside parameter list will not be visible outside of this definition or declaration > static inline void hugetlb_cgroup_uncharge_counter(struct resv_map *resv, > ^~~~~~~~ > Hi Randy, Yes this was supposed to fix the build errors. I'm having trouble reproducing the one you have pending above. This is my development environment: ➜ prodkernel2 git:(mm-build-fix) git remote show github-akpm * remote github-akpm Fetch URL: https://github.com/hnaz/linux-mm.git Push URL: https://github.com/hnaz/linux-mm.git ➜ prodkernel2 git:(mm-build-fix) git s ## mm-build-fix...github-akpm/master [ahead 1] ➜ prodkernel2 git:(mm-build-fix) make -j80 mm/migrate.o (succeeds with no warnings). ➜ prodkernel2 git:(mm-build-fix) make -j80 (succeeds with no warnings) Is my development environment wrong? Shouldn't I be able to reproduce this build warning on this tree with my fix? https://github.com/hnaz/linux-mm.git I'm using config-r9887 that you sent earlier. I'm probably supposed to use a different branch since you also say that my patch doesn't apply cleanily, but the mmotm readme says that github mirrors Andrew's tree? > > > >>> Fixes: b5f16a533ce8a ("hugetlb: support file_region coalescing again") > >>> Signed-off-by: Mina Almasry <almasrymina@xxxxxxxxxx> > >>> Cc: David Rientjes <rientjes@xxxxxxxxxx> > >>> Cc: Greg Thelen <gthelen@xxxxxxxxxx> > >>> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> > >>> Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> > >>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > >>> --- > >>> mm/hugetlb.c | 8 +++++--- > >>> 1 file changed, 5 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/mm/hugetlb.c b/mm/hugetlb.c > >>> index ee6d262fe6ac0..95d34c58981d2 100644 > >>> --- a/mm/hugetlb.c > >>> +++ b/mm/hugetlb.c > >>> @@ -289,7 +289,7 @@ static bool has_same_uncharge_info(struct file_region *rg, > >>> #endif > >>> } > >>> > >>> -#ifdef CONFIG_DEBUG_VM > >>> +#if defined(CONFIG_DEBUG_VM) && defined(CONFIG_CGROUP_HUGETLB) > >>> static void dump_resv_map(struct resv_map *resv) > >>> { > >>> struct list_head *head = &resv->regions; > >>> @@ -325,6 +325,10 @@ static void check_coalesce_bug(struct resv_map *resv) > >>> } > >>> } > >>> } > >>> +#else > >>> +static void check_coalesce_bug(struct resv_map *resv) > >>> +{ > >>> +} > >>> #endif > >>> > >>> static void coalesce_file_region(struct resv_map *resv, struct file_region *rg) > >>> @@ -431,9 +435,7 @@ static long add_reservation_in_range(struct resv_map *resv, long f, long t, > >>> } > >>> > >>> VM_BUG_ON(add < 0); > >>> -#ifdef CONFIG_DEBUG_VM > >>> check_coalesce_bug(resv); > >>> -#endif > >>> return add; > >>> } > >>> > >>> -- > >>> 2.25.0.265.gbab2e86ba0-goog > > > -- > ~Randy > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>