Re: mmotm 2021-08-05-19-46 uploaded (mm/filemap.c)
From: Randy Dunlap <hidden>
Date: 2021-08-06 05:00:40
Also in:
linux-fsdevel, linux-mm, lkml, mm-commits
On 8/5/21 7:46 PM, akpm@linux-foundation.org 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@infradead.org>