Re: mmotm 2021-02-01-19-29 uploaded (maybe CONFIG_SPARSEMEM?)

From: Randy Dunlap
Date: Tue Feb 02 2021 - 01:19:45 EST


On 2/1/21 7:32 PM, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> The mm-of-the-moment snapshot 2021-02-01-19-29 has been uploaded to
>
> https://www.ozlabs.org/~akpm/mmotm/
>
> mmotm-readme.txt says
>
> README for mm-of-the-moment:
>
> https://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 (5.x
> or 5.x-rcY). The series file is in broken-out.tar.gz and is duplicated in
> https://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.

4 of 10 i386 builds had hundreds of build errors.
Those same 4 builds had CONFIG_SPARSEMEM=y.
It may be a coincidence -- I haven't found out yet.

One of the 4 randconfig files is attached.

Here is a sampling of build errors:

../include/linux/mm.h: In function ‘is_pinnable_page’:
../include/asm-generic/memory_model.h:64:14: error: implicit declaration of function ‘page_to_section’; did you mean ‘__nr_to_section’? [-Werror=implicit-function-declaration]
int __sec = page_to_section(__pg); \
^
../include/asm-generic/memory_model.h:81:21: note: in expansion of macro ‘__page_to_pfn’
#define page_to_pfn __page_to_pfn
^~~~~~~~~~~~~
../include/linux/mmzone.h:94:32: note: in expansion of macro ‘page_to_pfn’
get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
^~~~~~~~~~~
../include/linux/mmzone.h:74:39: note: in expansion of macro ‘get_pageblock_migratetype’
# define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
^~~~~~~~~~~~~~~~~~~~~~~~~
../include/linux/mm.h:1133:41: note: in expansion of macro ‘is_migrate_cma_page’
return !(is_zone_movable_page(page) || is_migrate_cma_page(page)) ||
^~~~~~~~~~~~~~~~~~~
In file included from ../include/linux/kallsyms.h:12:0,
from ../include/linux/bpf.h:21,
from ../include/linux/bpf-cgroup.h:5,
from ../include/linux/cgroup-defs.h:22,
from ../include/linux/cgroup.h:28,
from ../include/linux/memcontrol.h:13,
from ../include/linux/swap.h:9,
from ../include/linux/suspend.h:5,
from ../arch/x86/kernel/asm-offsets.c:13:
../include/linux/mm.h: At top level:
../include/linux/mm.h:1505:29: error: conflicting types for ‘page_to_section’
static inline unsigned long page_to_section(const struct page *page)
^~~~~~~~~~~~~~~
In file included from ../arch/x86/include/asm/page.h:76:0,
from ../arch/x86/include/asm/thread_info.h:12,
from ../include/linux/thread_info.h:56,
from ../arch/x86/include/asm/preempt.h:7,
from ../include/linux/preempt.h:78,
from ../include/linux/spinlock.h:51,
from ../include/linux/mmzone.h:8,
from ../include/linux/gfp.h:6,
from ../include/linux/slab.h:15,
from ../include/linux/crypto.h:20,
from ../arch/x86/kernel/asm-offsets.c:9:
../include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of ‘page_to_section’ was here
int __sec = page_to_section(__pg); \
^
../include/asm-generic/memory_model.h:81:21: note: in expansion of macro ‘__page_to_pfn’
#define page_to_pfn __page_to_pfn
^~~~~~~~~~~~~
../include/linux/mmzone.h:94:32: note: in expansion of macro ‘page_to_pfn’
get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
^~~~~~~~~~~
../include/linux/mmzone.h:74:39: note: in expansion of macro ‘get_pageblock_migratetype’
# define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
^~~~~~~~~~~~~~~~~~~~~~~~~
../include/linux/mm.h:1133:41: note: in expansion of macro ‘is_migrate_cma_page’
return !(is_zone_movable_page(page) || is_migrate_cma_page(page)) ||
^~~~~~~~~~~~~~~~~~~


--
~Randy
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Attachment: config-r7551.gz
Description: application/gzip