On Fri 29-06-18 12:24:00, Mike Rapoport wrote: > On Thu, Jun 28, 2018 at 05:38:29AM +0800, kbuild test robot wrote: > > Hi Mike, > > > > I love your patch! Yet something to improve: > > > > [auto build test ERROR on linus/master] > > [also build test ERROR on v4.18-rc2 next-20180627] > > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > > > url: https://github.com/0day-ci/linux/commits/Mike-Rapoport/alpha-switch-to-NO_BOOTMEM/20180627-194800 > > config: alpha-allyesconfig (attached as .config) > > compiler: alpha-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 > > reproduce: > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # save the attached .config to linux build tree > > GCC_VERSION=7.2.0 make.cross ARCH=alpha > > > > All error/warnings (new ones prefixed by >>): > > > > mm/page_alloc.c: In function 'update_defer_init': > > >> mm/page_alloc.c:321:14: error: 'PAGES_PER_SECTION' undeclared (first use in this function); did you mean 'USEC_PER_SEC'? > > (pfn & (PAGES_PER_SECTION - 1)) == 0) { > > ^~~~~~~~~~~~~~~~~ > > USEC_PER_SEC > > The PAGES_PER_SECTION is defined only for SPARSEMEM with the exception of > x86-32 defining it for DISCONTIGMEM as well. That said, any architecture > that can have DISCTONTIGMEM=y && NO_BOOTMEM=y will fail the build with > DEFERRED_STRUCT_PAGE_INIT enabled. > > The simplest solution seems to make DEFERRED_STRUCT_PAGE_INIT explicitly > dependent on SPARSEMEM rather than !FLATMEM. The downside is that deferred > struct page initialization won't be available for x86-32 NUMA setups. I am really dubious that 32b systems really need DEFERRED_STRUCT_PAGE_INIT. Regardless of the memory mode. Those systems simply do not have enough memory to bother. Deferred initialization is targeting much larger beasts. -- Michal Hocko SUSE Labs