diff options
Diffstat (limited to 'include/linux/hugetlb.h')
-rw-r--r-- | include/linux/hugetlb.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 217f52859fa7..0f23c1840c9b 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -7,6 +7,7 @@ | |||
7 | 7 | ||
8 | struct ctl_table; | 8 | struct ctl_table; |
9 | struct user_struct; | 9 | struct user_struct; |
10 | struct mmu_gather; | ||
10 | 11 | ||
11 | #ifdef CONFIG_HUGETLB_PAGE | 12 | #ifdef CONFIG_HUGETLB_PAGE |
12 | 13 | ||
@@ -40,9 +41,10 @@ int follow_hugetlb_page(struct mm_struct *, struct vm_area_struct *, | |||
40 | struct page **, struct vm_area_struct **, | 41 | struct page **, struct vm_area_struct **, |
41 | unsigned long *, int *, int, unsigned int flags); | 42 | unsigned long *, int *, int, unsigned int flags); |
42 | void unmap_hugepage_range(struct vm_area_struct *, | 43 | void unmap_hugepage_range(struct vm_area_struct *, |
43 | unsigned long, unsigned long, struct page *); | 44 | unsigned long, unsigned long, struct page *); |
44 | void __unmap_hugepage_range(struct vm_area_struct *, | 45 | void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, |
45 | unsigned long, unsigned long, struct page *); | 46 | unsigned long start, unsigned long end, |
47 | struct page *ref_page); | ||
46 | int hugetlb_prefault(struct address_space *, struct vm_area_struct *); | 48 | int hugetlb_prefault(struct address_space *, struct vm_area_struct *); |
47 | void hugetlb_report_meminfo(struct seq_file *); | 49 | void hugetlb_report_meminfo(struct seq_file *); |
48 | int hugetlb_report_node_meminfo(int, char *); | 50 | int hugetlb_report_node_meminfo(int, char *); |
@@ -98,7 +100,6 @@ static inline unsigned long hugetlb_total_pages(void) | |||
98 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) | 100 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) |
99 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) | 101 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) |
100 | #define hugetlb_prefault(mapping, vma) ({ BUG(); 0; }) | 102 | #define hugetlb_prefault(mapping, vma) ({ BUG(); 0; }) |
101 | #define unmap_hugepage_range(vma, start, end, page) BUG() | ||
102 | static inline void hugetlb_report_meminfo(struct seq_file *m) | 103 | static inline void hugetlb_report_meminfo(struct seq_file *m) |
103 | { | 104 | { |
104 | } | 105 | } |
@@ -112,13 +113,24 @@ static inline void hugetlb_report_meminfo(struct seq_file *m) | |||
112 | #define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; }) | 113 | #define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; }) |
113 | #define hugetlb_fault(mm, vma, addr, flags) ({ BUG(); 0; }) | 114 | #define hugetlb_fault(mm, vma, addr, flags) ({ BUG(); 0; }) |
114 | #define huge_pte_offset(mm, address) 0 | 115 | #define huge_pte_offset(mm, address) 0 |
115 | #define dequeue_hwpoisoned_huge_page(page) 0 | 116 | static inline int dequeue_hwpoisoned_huge_page(struct page *page) |
117 | { | ||
118 | return 0; | ||
119 | } | ||
120 | |||
116 | static inline void copy_huge_page(struct page *dst, struct page *src) | 121 | static inline void copy_huge_page(struct page *dst, struct page *src) |
117 | { | 122 | { |
118 | } | 123 | } |
119 | 124 | ||
120 | #define hugetlb_change_protection(vma, address, end, newprot) | 125 | #define hugetlb_change_protection(vma, address, end, newprot) |
121 | 126 | ||
127 | static inline void __unmap_hugepage_range(struct mmu_gather *tlb, | ||
128 | struct vm_area_struct *vma, unsigned long start, | ||
129 | unsigned long end, struct page *ref_page) | ||
130 | { | ||
131 | BUG(); | ||
132 | } | ||
133 | |||
122 | #endif /* !CONFIG_HUGETLB_PAGE */ | 134 | #endif /* !CONFIG_HUGETLB_PAGE */ |
123 | 135 | ||
124 | #define HUGETLB_ANON_FILE "anon_hugepage" | 136 | #define HUGETLB_ANON_FILE "anon_hugepage" |