[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201909070248.cq8ZK0IR%lkp@intel.com>
Date: Sat, 7 Sep 2019 02:47:52 +0800
From: kbuild test robot <lkp@...el.com>
To: Alexander Duyck <alexander.h.duyck@...ux.intel.com>
Cc: kbuild-all@...org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
"Michael S. Tsirkin" <mst@...hat.com>
Subject: [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@...el.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@...ux.intel.com>
:::::: CC: Michael S. Tsirkin <mst@...hat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (45258 bytes)
Powered by blists - more mailing lists