On 8/5/21 7:46 PM, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
The mm-of-the-moment snapshot 2021-08-05-19-46 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.
on i386, I am seeing lots of build errors due to references to some PAGE_ flags that are only defined for 64BIT: In file included from ../mm/filemap.c:44:0: ../include/linux/page_idle.h: In function ‘folio_test_young’: ../include/linux/page_idle.h:25:18: error: ‘PAGE_EXT_YOUNG’ undeclared (first use in this function); did you mean ‘PAGEOUTRUN’? return test_bit(PAGE_EXT_YOUNG, &page_ext->flags); ^~~~~~~~~~~~~~ PAGEOUTRUN ../include/linux/page_idle.h:25:18: note: each undeclared identifier is reported only once for each function it appears in ../include/linux/page_idle.h:25:43: error: dereferencing pointer to incomplete type ‘struct page_ext’ return test_bit(PAGE_EXT_YOUNG, &page_ext->flags); ^~ ../include/linux/page_idle.h: In function ‘folio_set_young’: ../include/linux/page_idle.h:35:10: error: ‘PAGE_EXT_YOUNG’ undeclared (first use in this function); did you mean ‘PAGEOUTRUN’? set_bit(PAGE_EXT_YOUNG, &page_ext->flags); ^~~~~~~~~~~~~~ PAGEOUTRUN ../include/linux/page_idle.h: In function ‘folio_test_clear_young’: ../include/linux/page_idle.h:45:28: error: ‘PAGE_EXT_YOUNG’ undeclared (first use in this function); did you mean ‘PAGEOUTRUN’? return test_and_clear_bit(PAGE_EXT_YOUNG, &page_ext->flags); ^~~~~~~~~~~~~~ PAGEOUTRUN ../include/linux/page_idle.h: In function ‘folio_test_idle’: ../include/linux/page_idle.h:55:18: error: ‘PAGE_EXT_IDLE’ undeclared (first use in this function); did you mean ‘CPU_NOT_IDLE’? return test_bit(PAGE_EXT_IDLE, &page_ext->flags); ^~~~~~~~~~~~~ CPU_NOT_IDLE AS arch/x86/crypto/twofish-i586-asm_32.o AR arch/x86/events/zhaoxin/built-in.a ../include/linux/page_idle.h: In function ‘folio_set_idle’: ../include/linux/page_idle.h:65:10: error: ‘PAGE_EXT_IDLE’ undeclared (first use in this function); did you mean ‘CPU_NOT_IDLE’? set_bit(PAGE_EXT_IDLE, &page_ext->flags); ^~~~~~~~~~~~~ CPU_NOT_IDLE ../include/linux/page_idle.h: In function ‘folio_clear_idle’: ../include/linux/page_idle.h:75:12: error: ‘PAGE_EXT_IDLE’ undeclared (first use in this function); did you mean ‘CPU_NOT_IDLE’? clear_bit(PAGE_EXT_IDLE, &page_ext->flags); ^~~~~~~~~~~~~ CPU_NOT_IDLE CC mm/kfence/kfence_test.o CC arch/x86/events/intel/uncore_nhmex.o CC arch/x86/platform/atom/punit_atom_debug.o ../include/linux/page_idle.h: In function ‘folio_test_idle’: ../include/linux/page_idle.h:56:1: error: control reaches end of non-void function [-Werror=return-type] } See: --- a/include/linux/page_ext.h~mm-idle_page_tracking-make-pg_idle-reusable +++ a/include/linux/page_ext.h @@ -19,7 +19,7 @@ struct page_ext_operations { enum page_ext_flags { PAGE_EXT_OWNER, PAGE_EXT_OWNER_ALLOCATED, -#if defined(CONFIG_IDLE_PAGE_TRACKING) && !defined(CONFIG_64BIT) +#if defined(CONFIG_PAGE_IDLE_FLAG) && !defined(CONFIG_64BIT) PAGE_EXT_YOUNG, PAGE_EXT_IDLE, #endif -- ~Randy Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>