Re: [PATCH 1/2] mm, thp: introduce dedicated transparent huge page allocation interfaces

From: kbuild test robot
Date: Wed Oct 18 2017 - 11:55:32 EST


Hi Changbin,

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.14-rc5 next-20171017]
[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/changbin-du-intel-com/mm-thp-introduce-dedicated-transparent-huge-page-allocation-interfaces/20171018-230128
base: git://git.cmpxchg.org/linux-mmotm.git master
config: i386-randconfig-x003-201742 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All error/warnings (new ones prefixed by >>):

In file included from mm/shmem.c:70:0:
include/linux/migrate.h: In function 'new_page_nodemask':
include/linux/migrate.h:49:10: error: implicit declaration of function 'alloc_transhuge_page_nodemask' [-Werror=implicit-function-declaration]
return alloc_transhuge_page_nodemask(gfp_mask | GFP_TRANSHUGE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/migrate.h:49:10: warning: return makes pointer from integer without a cast [-Wint-conversion]
return alloc_transhuge_page_nodemask(gfp_mask | GFP_TRANSHUGE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
preferred_nid, nodemask);
~~~~~~~~~~~~~~~~~~~~~~~~
mm/shmem.c: In function 'shmem_alloc_hugepage':
>> mm/shmem.c:1448:9: error: implicit declaration of function 'alloc_transhuge_page_vma' [-Werror=implicit-function-declaration]
page = alloc_transhuge_page_vma(gfp, &pvma, 0);
^~~~~~~~~~~~~~~~~~~~~~~~
>> mm/shmem.c:1448:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
page = alloc_transhuge_page_vma(gfp, &pvma, 0);
^
cc1: some warnings being treated as errors

vim +/alloc_transhuge_page_vma +1448 mm/shmem.c

1423
1424 static struct page *shmem_alloc_hugepage(gfp_t gfp,
1425 struct shmem_inode_info *info, pgoff_t index)
1426 {
1427 struct vm_area_struct pvma;
1428 struct inode *inode = &info->vfs_inode;
1429 struct address_space *mapping = inode->i_mapping;
1430 pgoff_t idx, hindex;
1431 void __rcu **results;
1432 struct page *page;
1433
1434 if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGE_PAGECACHE))
1435 return NULL;
1436
1437 hindex = round_down(index, HPAGE_PMD_NR);
1438 rcu_read_lock();
1439 if (radix_tree_gang_lookup_slot(&mapping->page_tree, &results, &idx,
1440 hindex, 1) && idx < hindex + HPAGE_PMD_NR) {
1441 rcu_read_unlock();
1442 return NULL;
1443 }
1444 rcu_read_unlock();
1445
1446 shmem_pseudo_vma_init(&pvma, info, hindex);
1447 gfp |= __GFP_COMP | __GFP_NORETRY | __GFP_NOWARN;
> 1448 page = alloc_transhuge_page_vma(gfp, &pvma, 0);
1449 shmem_pseudo_vma_destroy(&pvma);
1450 return page;
1451 }
1452

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip