Hi Shakeel, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20 next-20190102] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shakeel-Butt/memcg-localize-memcg_kmem_enabled-check/20190103-120255 config: x86_64-randconfig-x013-201900 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): mm/page_alloc.c: In function 'free_pages_prepare': >> mm/page_alloc.c:1059:3: error: implicit declaration of function '__memcg_kmem_uncharge'; did you mean 'memcg_kmem_uncharge'? [-Werror=implicit-function-declaration] __memcg_kmem_uncharge(page, order); ^~~~~~~~~~~~~~~~~~~~~ memcg_kmem_uncharge In file included from include/asm-generic/bug.h:5:0, from arch/x86/include/asm/bug.h:83, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from mm/page_alloc.c:18: mm/page_alloc.c: In function '__alloc_pages_nodemask': >> mm/page_alloc.c:4553:15: error: implicit declaration of function '__memcg_kmem_charge'; did you mean 'memcg_kmem_charge'? [-Werror=implicit-function-declaration] unlikely(__memcg_kmem_charge(page, gfp_mask, order) != 0)) { ^ include/linux/compiler.h:77:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ cc1: some warnings being treated as errors vim +1059 mm/page_alloc.c 1024 1025 static __always_inline bool free_pages_prepare(struct page *page, 1026 unsigned int order, bool check_free) 1027 { 1028 int bad = 0; 1029 1030 VM_BUG_ON_PAGE(PageTail(page), page); 1031 1032 trace_mm_page_free(page, order); 1033 1034 /* 1035 * Check tail pages before head page information is cleared to 1036 * avoid checking PageCompound for order-0 pages. 1037 */ 1038 if (unlikely(order)) { 1039 bool compound = PageCompound(page); 1040 int i; 1041 1042 VM_BUG_ON_PAGE(compound && compound_order(page) != order, page); 1043 1044 if (compound) 1045 ClearPageDoubleMap(page); 1046 for (i = 1; i < (1 << order); i++) { 1047 if (compound) 1048 bad += free_tail_pages_check(page, page + i); 1049 if (unlikely(free_pages_check(page + i))) { 1050 bad++; 1051 continue; 1052 } 1053 (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; 1054 } 1055 } 1056 if (PageMappingFlags(page)) 1057 page->mapping = NULL; 1058 if (memcg_kmem_enabled() && PageKmemcg(page)) > 1059 __memcg_kmem_uncharge(page, order); 1060 if (check_free) 1061 bad += free_pages_check(page); 1062 if (bad) 1063 return false; 1064 1065 page_cpupid_reset_last(page); 1066 page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; 1067 reset_page_owner(page, order); 1068 1069 if (!PageHighMem(page)) { 1070 debug_check_no_locks_freed(page_address(page), 1071 PAGE_SIZE << order); 1072 debug_check_no_obj_freed(page_address(page), 1073 PAGE_SIZE << order); 1074 } 1075 arch_free_page(page, order); 1076 kernel_poison_pages(page, 1 << order, 0); 1077 kernel_map_pages(page, 1 << order, 0); 1078 kasan_free_nondeferred_pages(page, order); 1079 1080 return true; 1081 } 1082 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip