[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180222072037.GC30681@dhcp22.suse.cz>
Date: Thu, 22 Feb 2018 08:20:37 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: akpm@...ux-foundation.org, broonie@...nel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, linux-next@...r.kernel.org,
mm-commits@...r.kernel.org, sfr@...b.auug.org.au,
richard -rw- weinberger <richard.weinberger@...il.com>,
Eugeniu Rosca <erosca@...adit-jv.com>
Subject: Re: mmotm 2018-02-21-14-48 uploaded (mm/page_alloc.c on UML)
On Wed 21-02-18 15:58:41, Randy Dunlap wrote:
> On 02/21/2018 02:48 PM, akpm@...ux-foundation.org wrote:
> > The mm-of-the-moment snapshot 2018-02-21-14-48 has been uploaded to
> >
> > http://www.ozlabs.org/~akpm/mmotm/
> >
> > mmotm-readme.txt says
> >
> > README for mm-of-the-moment:
> >
> > http://www.ozlabs.org/~akpm/mmotm/
> >
> > This is a snapshot of my -mm patch queue. Uploaded at random hopefully
> > more than once a week.
> >
> > You will need quilt to apply these patches to the latest Linus release (4.x
> > or 4.x-rcY). The series file is in broken-out.tar.gz and is duplicated in
> > http://ozlabs.org/~akpm/mmotm/series
> >
> > The file broken-out.tar.gz contains two datestamp files: .DATE and
> > .DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss,
> > followed by the base kernel version against which this patch series is to
> > be applied.
>
> um (or uml) defconfig on i386 and/or x86_64:
>
> ../mm/page_alloc.c: In function 'memmap_init_zone':
> ../mm/page_alloc.c:5450:5: error: implicit declaration of function 'memblock_next_valid_pfn' [-Werror=implicit-function-declaration]
> pfn = memblock_next_valid_pfn(pfn, end_pfn) - 1;
> ^
>
>
> probably (?):
> From: Eugeniu Rosca <erosca@...adit-jv.com>
> Subject: mm: page_alloc: skip over regions of invalid pfns on UMA
Yes. Steven has already reported the same [1]. There are two possible
ways around this. Either provide and empty stub or use ifdef around
memblock_next_valid_pfn. I would use the later because it is less
confusing. We really do not want memblock_next_valid_pfn to be used
outside of memblock aware code.
[1] http://lkml.kernel.org/r/20180222143057.3a1b3746@canb.auug.org.au
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4334d3a9c6a2..2836bc9e0999 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5446,8 +5446,9 @@ void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long zone,
* end_pfn), such that we hit a valid pfn (or end_pfn)
* on our next iteration of the loop.
*/
- if (IS_ENABLED(CONFIG_HAVE_MEMBLOCK))
- pfn = memblock_next_valid_pfn(pfn, end_pfn) - 1;
+#ifdef CONFIG_HAVE_MEMBLOCK
+ pfn = memblock_next_valid_pfn(pfn, end_pfn) - 1;
+#endif
continue;
}
if (!early_pfn_in_nid(pfn, nid))
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists