I hope this is the current version of the pathc - I somehow got lost in last submissions where the discussion happens in v4 thread. This version seems to have the same issue: --- >From 04c37a979c5ce8cd39d3243e4e2c12905e4f1e6e Mon Sep 17 00:00:00 2001 From: Michal Hocko <mhocko@xxxxxxxx> Date: Fri, 24 Jul 2015 08:14:32 +0200 Subject: [PATCH] mmotm: hugetlbfs-new-huge_add_to_page_cache-helper-routine-fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hugetlbfs_fallocate relies on CONFIG_NUMA and fails to compile otherwise. This just makes the code compile but it seems it begs for a better solution. fs/hugetlbfs/inode.c: In function ‘hugetlbfs_fallocate’: fs/hugetlbfs/inode.c:578:13: error: ‘struct vm_area_struct’ has no member named ‘vm_policy’ pseudo_vma.vm_policy = ^ fs/hugetlbfs/inode.c:579:4: error: implicit declaration of function ‘mpol_shared_policy_lookup’ [-Werror=implicit-function-declaration] mpol_shared_policy_lookup(&HUGETLBFS_I(inode)->policy, ^ fs/hugetlbfs/inode.c:595:28: error: ‘struct vm_area_struct’ has no member named ‘vm_policy’ mpol_cond_put(pseudo_vma.vm_policy); ^ fs/hugetlbfs/inode.c:601:27: error: ‘struct vm_area_struct’ has no member named ‘vm_policy’ mpol_cond_put(pseudo_vma.vm_policy); Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> --- fs/hugetlbfs/inode.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index d977cae89d29..dfca09218d77 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -575,9 +575,11 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset, } /* Get policy based on index */ +#ifdef CONFIG_NUMA pseudo_vma.vm_policy = mpol_shared_policy_lookup(&HUGETLBFS_I(inode)->policy, index); +#endif /* addr is the offset within the file (zero based) */ addr = index * hpage_size; @@ -592,13 +594,17 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset, if (page) { put_page(page); mutex_unlock(&hugetlb_fault_mutex_table[hash]); +#ifdef CONFIG_NUMA mpol_cond_put(pseudo_vma.vm_policy); +#endif continue; } /* Allocate page and add to page cache */ page = alloc_huge_page(&pseudo_vma, addr, avoid_reserve); +#ifdef CONFIG_NUMA mpol_cond_put(pseudo_vma.vm_policy); +#endif if (IS_ERR(page)) { mutex_unlock(&hugetlb_fault_mutex_table[hash]); error = PTR_ERR(page); -- 2.1.4 -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>