kbuild test robot
2019-Sep-06 18:47 UTC
[vhost:linux-next 15/15] include/linux/page_reporting.h:10:34: error: 'HUGETLB_PAGE_ORDER' undeclared; did you mean 'IOREMAP_MAX_ORDER'?
tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/mst/vhost.git
linux-next
head: c5db5a8d998da36ada7287aa53b4ed501a0a2b2b
commit: c5db5a8d998da36ada7287aa53b4ed501a0a2b2b [15/15] virtio-balloon: Add
support for providing unused page reports to host
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.4.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout c5db5a8d998da36ada7287aa53b4ed501a0a2b2b
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>
All error/warnings (new ones prefixed by >>):
arch/arm64/Makefile:56: CROSS_COMPILE_COMPAT not defined or empty, the compat
vDSO will not be built
arch/arm64/Makefile:56: CROSS_COMPILE_COMPAT not defined or empty, the compat
vDSO will not be built
In file included from include/linux/mmzone.h:775:0,
from include/linux/gfp.h:6,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/acpi/apei.h:9,
from include/acpi/ghes.h:5,
from include/linux/arm_sdei.h:14,
from arch/arm64/kernel/asm-offsets.c:10:
include/linux/page_reporting.h:9:37: warning: "HUGETLB_PAGE_ORDER"
is not defined, evaluates to 0 [-Wundef]
#if defined(CONFIG_HUGETLB_PAGE) && HUGETLB_PAGE_ORDER <
MAX_ORDER
^~~~~~~~~~~~~~~~~~
include/linux/page_reporting.h: In function
'get_unreported_tail':>> include/linux/page_reporting.h:10:34: error:
'HUGETLB_PAGE_ORDER' undeclared (first use in this function); did you
mean 'IOREMAP_MAX_ORDER'?
#define PAGE_REPORTING_MIN_ORDER HUGETLB_PAGE_ORDER
^>> include/linux/page_reporting.h:72:15: note: in expansion of macro
'PAGE_REPORTING_MIN_ORDER'
if (order >= PAGE_REPORTING_MIN_ORDER &&
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/page_reporting.h:10:34: note: each undeclared identifier is
reported only once for each function it appears in
#define PAGE_REPORTING_MIN_ORDER HUGETLB_PAGE_ORDER
^>> include/linux/page_reporting.h:72:15: note: in expansion of macro
'PAGE_REPORTING_MIN_ORDER'
if (order >= PAGE_REPORTING_MIN_ORDER &&
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/page_reporting.h: In function
'add_page_to_reported_list':>> include/linux/page_reporting.h:10:34: error:
'HUGETLB_PAGE_ORDER' undeclared (first use in this function); did you
mean 'IOREMAP_MAX_ORDER'?
#define PAGE_REPORTING_MIN_ORDER HUGETLB_PAGE_ORDER
^
include/linux/page_reporting.h:94:31: note: in expansion of macro
'PAGE_REPORTING_MIN_ORDER'
zone->reported_pages[order - PAGE_REPORTING_MIN_ORDER]++;
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/page_reporting.h: In function
'del_page_from_reported_list':>> include/linux/page_reporting.h:10:34: error:
'HUGETLB_PAGE_ORDER' undeclared (first use in this function); did you
mean 'IOREMAP_MAX_ORDER'?
#define PAGE_REPORTING_MIN_ORDER HUGETLB_PAGE_ORDER
^
include/linux/page_reporting.h:110:44: note: in expansion of macro
'PAGE_REPORTING_MIN_ORDER'
zone->reported_pages[page_private(page) - PAGE_REPORTING_MIN_ORDER]--;
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/page_reporting.h: In function
'page_reporting_notify_free':>> include/linux/page_reporting.h:10:34: error:
'HUGETLB_PAGE_ORDER' undeclared (first use in this function); did you
mean 'IOREMAP_MAX_ORDER'?
#define PAGE_REPORTING_MIN_ORDER HUGETLB_PAGE_ORDER
^
include/linux/page_reporting.h:158:14: note: in expansion of macro
'PAGE_REPORTING_MIN_ORDER'
if (order < PAGE_REPORTING_MIN_ORDER)
^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [arch/arm64/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2
8 real 4 user 4 sys 96.33% cpu make prepare
vim +10 include/linux/page_reporting.h
b1b0d638e6f93b Alexander Duyck 2019-09-06 8
b1b0d638e6f93b Alexander Duyck 2019-09-06 @9 #if defined(CONFIG_HUGETLB_PAGE)
&& HUGETLB_PAGE_ORDER < MAX_ORDER
b1b0d638e6f93b Alexander Duyck 2019-09-06 @10 #define PAGE_REPORTING_MIN_ORDER
HUGETLB_PAGE_ORDER
b1b0d638e6f93b Alexander Duyck 2019-09-06 11 #else
b1b0d638e6f93b Alexander Duyck 2019-09-06 12 #define PAGE_REPORTING_MIN_ORDER
(MAX_ORDER - 1)
b1b0d638e6f93b Alexander Duyck 2019-09-06 13 #endif
b1b0d638e6f93b Alexander Duyck 2019-09-06 14 #define PAGE_REPORTING_HWM 32
b1b0d638e6f93b Alexander Duyck 2019-09-06 15
b1b0d638e6f93b Alexander Duyck 2019-09-06 16 #ifdef CONFIG_PAGE_REPORTING
b1b0d638e6f93b Alexander Duyck 2019-09-06 17 struct page_reporting_dev_info {
b1b0d638e6f93b Alexander Duyck 2019-09-06 18 /* function that alters pages to
make them "reported" */
b1b0d638e6f93b Alexander Duyck 2019-09-06 19 void (*report)(struct
page_reporting_dev_info *phdev,
b1b0d638e6f93b Alexander Duyck 2019-09-06 20 unsigned int nents);
b1b0d638e6f93b Alexander Duyck 2019-09-06 21
b1b0d638e6f93b Alexander Duyck 2019-09-06 22 /* scatterlist containing pages
to be processed */
b1b0d638e6f93b Alexander Duyck 2019-09-06 23 struct scatterlist *sg;
b1b0d638e6f93b Alexander Duyck 2019-09-06 24
b1b0d638e6f93b Alexander Duyck 2019-09-06 25 /*
b1b0d638e6f93b Alexander Duyck 2019-09-06 26 * Upper limit on the number of
pages that the react function
b1b0d638e6f93b Alexander Duyck 2019-09-06 27 * expects to be placed into the
batch list to be processed.
b1b0d638e6f93b Alexander Duyck 2019-09-06 28 */
b1b0d638e6f93b Alexander Duyck 2019-09-06 29 unsigned long capacity;
b1b0d638e6f93b Alexander Duyck 2019-09-06 30
b1b0d638e6f93b Alexander Duyck 2019-09-06 31 /* work struct for processing
reports */
b1b0d638e6f93b Alexander Duyck 2019-09-06 32 struct delayed_work work;
b1b0d638e6f93b Alexander Duyck 2019-09-06 33
b1b0d638e6f93b Alexander Duyck 2019-09-06 34 /*
b1b0d638e6f93b Alexander Duyck 2019-09-06 35 * The number of zones
requesting reporting, plus one additional if
b1b0d638e6f93b Alexander Duyck 2019-09-06 36 * processing thread is active.
b1b0d638e6f93b Alexander Duyck 2019-09-06 37 */
b1b0d638e6f93b Alexander Duyck 2019-09-06 38 atomic_t refcnt;
b1b0d638e6f93b Alexander Duyck 2019-09-06 39 };
b1b0d638e6f93b Alexander Duyck 2019-09-06 40
b1b0d638e6f93b Alexander Duyck 2019-09-06 41 /* Boundary functions */
b1b0d638e6f93b Alexander Duyck 2019-09-06 42 struct list_head
*__page_reporting_get_boundary(unsigned int order,
b1b0d638e6f93b Alexander Duyck 2019-09-06 43 int migratetype);
b1b0d638e6f93b Alexander Duyck 2019-09-06 44 void
page_reporting_del_from_boundary(struct page *page, struct zone *zone);
b1b0d638e6f93b Alexander Duyck 2019-09-06 45 void
page_reporting_add_to_boundary(struct page *page, struct zone *zone,
b1b0d638e6f93b Alexander Duyck 2019-09-06 46 int migratetype);
b1b0d638e6f93b Alexander Duyck 2019-09-06 47 void
page_reporting_move_to_boundary(struct page *page, struct zone *zone,
b1b0d638e6f93b Alexander Duyck 2019-09-06 48 int migratetype);
b1b0d638e6f93b Alexander Duyck 2019-09-06 49
b1b0d638e6f93b Alexander Duyck 2019-09-06 50 /* Reported page accessors,
defined in page_alloc.c */
b1b0d638e6f93b Alexander Duyck 2019-09-06 51 struct page
*get_unreported_page(struct zone *zone, unsigned int order,
b1b0d638e6f93b Alexander Duyck 2019-09-06 52 int migratetype);
b1b0d638e6f93b Alexander Duyck 2019-09-06 53 void free_reported_page(struct
page *page, unsigned int order);
b1b0d638e6f93b Alexander Duyck 2019-09-06 54
b1b0d638e6f93b Alexander Duyck 2019-09-06 55 /* Tear-down and bring-up for
page reporting devices */
b1b0d638e6f93b Alexander Duyck 2019-09-06 56 void
page_reporting_shutdown(struct page_reporting_dev_info *phdev);
b1b0d638e6f93b Alexander Duyck 2019-09-06 57 int page_reporting_startup(struct
page_reporting_dev_info *phdev);
b1b0d638e6f93b Alexander Duyck 2019-09-06 58
b1b0d638e6f93b Alexander Duyck 2019-09-06 59 void
__page_reporting_free_stats(struct zone *zone);
b1b0d638e6f93b Alexander Duyck 2019-09-06 60 void
__page_reporting_request(struct zone *zone);
b1b0d638e6f93b Alexander Duyck 2019-09-06 61 #endif /* CONFIG_PAGE_REPORTING
*/
b1b0d638e6f93b Alexander Duyck 2019-09-06 62
b1b0d638e6f93b Alexander Duyck 2019-09-06 63 /*
b1b0d638e6f93b Alexander Duyck 2019-09-06 64 * Method for obtaining the tail
of the free list. Using this allows for
b1b0d638e6f93b Alexander Duyck 2019-09-06 65 * tail insertions of unreported
pages into the region that is currently
b1b0d638e6f93b Alexander Duyck 2019-09-06 66 * being scanned so as to avoid
interleaving reported and unreported pages.
b1b0d638e6f93b Alexander Duyck 2019-09-06 67 */
b1b0d638e6f93b Alexander Duyck 2019-09-06 68 static inline struct list_head *
b1b0d638e6f93b Alexander Duyck 2019-09-06 69 get_unreported_tail(struct zone
*zone, unsigned int order, int migratetype)
b1b0d638e6f93b Alexander Duyck 2019-09-06 70 {
b1b0d638e6f93b Alexander Duyck 2019-09-06 71 #ifdef CONFIG_PAGE_REPORTING
b1b0d638e6f93b Alexander Duyck 2019-09-06 @72 if (order >=
PAGE_REPORTING_MIN_ORDER &&
b1b0d638e6f93b Alexander Duyck 2019-09-06 73
test_bit(ZONE_PAGE_REPORTING_ACTIVE, &zone->flags))
b1b0d638e6f93b Alexander Duyck 2019-09-06 74 return
__page_reporting_get_boundary(order, migratetype);
b1b0d638e6f93b Alexander Duyck 2019-09-06 75 #endif
b1b0d638e6f93b Alexander Duyck 2019-09-06 76 return
&zone->free_area[order].free_list[migratetype];
b1b0d638e6f93b Alexander Duyck 2019-09-06 77 }
b1b0d638e6f93b Alexander Duyck 2019-09-06 78
:::::: The code at line 10 was first introduced by commit
:::::: b1b0d638e6f93b91cf34585350bb00035d066989 mm: Introduce Reported pages
:::::: TO: Alexander Duyck <alexander.h.duyck at linux.intel.com>
:::::: CC: Michael S. Tsirkin <mst at redhat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 45258 bytes
Desc: not available
URL:
<http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20190907/d30731e1/attachment-0001.bin>