Created attachment 289745 [details] config kernel version: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git head:69119673bd50b176ded34032fadd41530fb5af21 build cmd: $cp config .config $make ARCH=x86_64 Build error: mm/page_alloc.c:8348:48: warning: ‘struct compact_control’ declared inside parameter list will not be visible outside of this definition or declaration static int __alloc_contig_migrate_range(struct compact_control *cc, ^~~~~~~~~~~~~~~ mm/page_alloc.c: In function ‘__alloc_contig_migrate_range’: mm/page_alloc.c:8359:37: error: dereferencing pointer to incomplete type ‘struct compact_control’ while (pfn < end || !list_empty(&cc->migratepages)) { ^~ mm/page_alloc.c:8367:10: error: implicit declaration of function ‘isolate_migratepages_range’; did you mean ‘populate_vma_page_range’? [-Werror=implicit-function-declaration] pfn = isolate_migratepages_range(cc, pfn, end); ^~~~~~~~~~~~~~~~~~~~~~~~~~ populate_vma_page_range mm/page_alloc.c: In function ‘alloc_contig_range’: mm/page_alloc.c:8420:9: error: variable ‘cc’ has initializer but incomplete type struct compact_control cc = { ^~~~~~~~~~~~~~~ mm/page_alloc.c:8421:4: error: ‘struct compact_control’ has no member named ‘nr_migratepages’ .nr_migratepages = 0, ^~~~~~~~~~~~~~~ mm/page_alloc.c:8421:22: warning: excess elements in struct initializer .nr_migratepages = 0, ^ mm/page_alloc.c:8421:22: note: (near initialization for ‘cc’) mm/page_alloc.c:8422:4: error: ‘struct compact_control’ has no member named ‘order’ .order = -1, ^~~~~ mm/page_alloc.c:8422:12: warning: excess elements in struct initializer .order = -1, ^ mm/page_alloc.c:8422:12: note: (near initialization for ‘cc’) mm/page_alloc.c:8423:4: error: ‘struct compact_control’ has no member named ‘zone’ .zone = page_zone(pfn_to_page(start)), ^~~~ mm/page_alloc.c:8423:11: warning: excess elements in struct initializer .zone = page_zone(pfn_to_page(start)), ^~~~~~~~~ mm/page_alloc.c:8423:11: note: (near initialization for ‘cc’) mm/page_alloc.c:8424:4: error: ‘struct compact_control’ has no member named ‘mode’ .mode = MIGRATE_SYNC, ^~~~ mm/page_alloc.c:8424:11: warning: excess elements in struct initializer .mode = MIGRATE_SYNC, ^~~~~~~~~~~~ mm/page_alloc.c:8424:11: note: (near initialization for ‘cc’) mm/page_alloc.c:8425:4: error: ‘struct compact_control’ has no member named ‘ignore_skip_hint’ .ignore_skip_hint = true, ^~~~~~~~~~~~~~~~ mm/page_alloc.c:8425:23: warning: excess elements in struct initializer .ignore_skip_hint = true, ^~~~ mm/page_alloc.c:8425:23: note: (near initialization for ‘cc’) mm/page_alloc.c:8426:4: error: ‘struct compact_control’ has no member named ‘no_set_skip_hint’ .no_set_skip_hint = true, ^~~~~~~~~~~~~~~~ mm/page_alloc.c:8426:23: warning: excess elements in struct initializer .no_set_skip_hint = true, ^~~~ mm/page_alloc.c:8426:23: note: (near initialization for ‘cc’) mm/page_alloc.c:8427:4: error: ‘struct compact_control’ has no member named ‘gfp_mask’ .gfp_mask = current_gfp_context(gfp_mask), ^~~~~~~~ mm/page_alloc.c:8427:15: warning: excess elements in struct initializer .gfp_mask = current_gfp_context(gfp_mask), ^~~~~~~~~~~~~~~~~~~ mm/page_alloc.c:8427:15: note: (near initialization for ‘cc’) mm/page_alloc.c:8428:4: error: ‘struct compact_control’ has no member named ‘alloc_contig’ .alloc_contig = true, ^~~~~~~~~~~~ mm/page_alloc.c:8428:19: warning: excess elements in struct initializer .alloc_contig = true, ^~~~ mm/page_alloc.c:8428:19: note: (near initialization for ‘cc’) mm/page_alloc.c:8420:25: error: storage size of ‘cc’ isn’t known struct compact_control cc = { ^~ mm/page_alloc.c:8527:14: error: implicit declaration of function ‘isolate_freepages_range’; did you mean ‘populate_vma_page_range’? [-Werror=implicit-function-declaration] outer_end = isolate_freepages_range(&cc, outer_start, end); ^~~~~~~~~~~~~~~~~~~~~~~ populate_vma_page_range mm/page_alloc.c:8420:25: warning: unused variable ‘cc’ [-Wunused-variable] struct compact_control cc = { ^~ cc1: some warnings being treated as errors make[1]: *** [mm/page_alloc.o] Error 1 make: *** [mm] Error 2 make: *** Waiting for unfinished jobs....